ITP001 Axioms: ITP060^5.ax


%------------------------------------------------------------------------------
% File     : ITP060^5 : TPTP v8.2.0. Bugfixed v7.5.0.
% Domain   : Interactive Theorem Proving
% Axioms   : HOL4 set theory export, chainy mode
% Version  : [BG+19] axioms.
% English  :

% Refs     : [BG+19] Brown et al. (2019), GRUNGE: A Grand Unified ATP Chall
%          : [Gau20] Gauthier (2020), Email to Geoff Sutcliffe
% Source   : [BG+19]
% Names    : Decode^2.ax [Gau20]
%          : HL4060^5.ax [TPAP]

% Status   : Satisfiable
% Syntax   : Number of formulae    :  120 (   6 unt;  29 typ;   0 def)
%            Number of atoms       : 3856 (  67 equ;   0 cnn)
%            Maximal formula atoms :  108 (  32 avg)
%            Number of connectives : 5178 (   1   ~;   0   |;  28   &;4964   @)
%                                         (   5 <=>; 180  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   33 (  12 avg;4964 nst)
%            Number of types       :    6 (   5 usr)
%            Number of type conns  :   21 (  21   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :  101 ( 100 usr;  81 con; 0-2 aty)
%            Number of variables   :  354 (  90   ^ 264   !;   0   ?; 354   :)
% SPC      : TH0_SAT_EQU_NAR

% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
thf(tp_c_2EDecode_2Edec2enc,type,
    c_2EDecode_2Edec2enc: del > $i ).

thf(mem_c_2EDecode_2Edec2enc,axiom,
    ! [A_27a: del] : ( mem @ ( c_2EDecode_2Edec2enc @ A_27a ) @ ( arr @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ).

thf(stp_c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o,type,
    tp__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o: $tType ).

thf(stp_inj_c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o,type,
    inj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o: tp__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o > $i ).

thf(stp_surj_c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o,type,
    surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o: $i > tp__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o ).

thf(stp_inj_surj_c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o,axiom,
    ! [X: tp__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o] :
      ( ( surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o @ ( inj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o @ X ) )
      = X ) ).

thf(stp_inj_mem_c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o,axiom,
    ! [X: tp__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o] : ( mem @ ( inj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o @ X ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) ) ).

thf(stp_iso_mem_c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o,axiom,
    ! [X: $i] :
      ( ( mem @ X @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) )
     => ( X
        = ( inj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o @ ( surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o @ X ) ) ) ) ).

thf(stp_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o,type,
    tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o: $tType ).

thf(stp_inj_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o,type,
    inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o > $i ).

thf(stp_surj_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o,type,
    surj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o: $i > tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o ).

thf(stp_inj_surj_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o,axiom,
    ! [X: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o] :
      ( ( surj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o @ ( inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o @ X ) )
      = X ) ).

thf(stp_inj_mem_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o,axiom,
    ! [X: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o] : ( mem @ ( inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o @ X ) @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) ).

thf(stp_iso_mem_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o,axiom,
    ! [X: $i] :
      ( ( mem @ X @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) )
     => ( X
        = ( inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o @ ( surj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o @ X ) ) ) ) ).

thf(tp_c_2EDecode_2Edec__bnum,type,
    c_2EDecode_2Edec__bnum: $i ).

thf(mem_c_2EDecode_2Edec__bnum,axiom,
    mem @ c_2EDecode_2Edec__bnum @ ( arr @ ty_2Enum_2Enum @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ).

thf(tp_c_2EDecode_2Edecode__blist,type,
    c_2EDecode_2Edecode__blist: del > $i ).

thf(mem_c_2EDecode_2Edecode__blist,axiom,
    ! [A_27a: del] : ( mem @ ( c_2EDecode_2Edecode__blist @ A_27a ) @ ( arr @ ( arr @ ( ty_2Elist_2Elist @ A_27a ) @ bool ) @ ( arr @ ty_2Enum_2Enum @ ( arr @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Elist_2Elist @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) ) ) ).

thf(tp_c_2EDecode_2Edecode__bnum,type,
    c_2EDecode_2Edecode__bnum: $i ).

thf(mem_c_2EDecode_2Edecode__bnum,axiom,
    mem @ c_2EDecode_2Edecode__bnum @ ( arr @ ty_2Enum_2Enum @ ( arr @ ( arr @ ty_2Enum_2Enum @ bool ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) ).

thf(stp_c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_o_c_ty_2Elist_2Elist_o,type,
    tp__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_o_c_ty_2Elist_2Elist_o: $tType ).

thf(stp_inj_c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_o_c_ty_2Elist_2Elist_o,type,
    inj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_o_c_ty_2Elist_2Elist_o: tp__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_o_c_ty_2Elist_2Elist_o > $i ).

thf(stp_surj_c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_o_c_ty_2Elist_2Elist_o,type,
    surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_o_c_ty_2Elist_2Elist_o: $i > tp__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_o_c_ty_2Elist_2Elist_o ).

thf(stp_inj_surj_c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_o_c_ty_2Elist_2Elist_o,axiom,
    ! [X: tp__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_o_c_ty_2Elist_2Elist_o] :
      ( ( surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_o_c_ty_2Elist_2Elist_o @ ( inj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_o_c_ty_2Elist_2Elist_o @ X ) )
      = X ) ).

thf(stp_inj_mem_c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_o_c_ty_2Elist_2Elist_o,axiom,
    ! [X: tp__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_o_c_ty_2Elist_2Elist_o] : ( mem @ ( inj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_o_c_ty_2Elist_2Elist_o @ X ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ bool @ ( ty_2Elist_2Elist @ bool ) ) ) ) ).

thf(stp_iso_mem_c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_o_c_ty_2Elist_2Elist_o,axiom,
    ! [X: $i] :
      ( ( mem @ X @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ bool @ ( ty_2Elist_2Elist @ bool ) ) ) )
     => ( X
        = ( inj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_o_c_ty_2Elist_2Elist_o @ ( surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_o_c_ty_2Elist_2Elist_o @ X ) ) ) ) ).

thf(tp_c_2EDecode_2Edecode__bool,type,
    c_2EDecode_2Edecode__bool: $i ).

thf(mem_c_2EDecode_2Edecode__bool,axiom,
    mem @ c_2EDecode_2Edecode__bool @ ( arr @ ( arr @ bool @ bool ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ bool @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ).

thf(tp_c_2EDecode_2Edecode__list,type,
    c_2EDecode_2Edecode__list: del > $i ).

thf(mem_c_2EDecode_2Edecode__list,axiom,
    ! [A_27a: del] : ( mem @ ( c_2EDecode_2Edecode__list @ A_27a ) @ ( arr @ ( arr @ ( ty_2Elist_2Elist @ A_27a ) @ bool ) @ ( arr @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Elist_2Elist @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) ) ).

thf(tp_c_2EDecode_2Edecode__num,type,
    c_2EDecode_2Edecode__num: $i ).

thf(mem_c_2EDecode_2Edecode__num,axiom,
    mem @ c_2EDecode_2Edecode__num @ ( arr @ ( arr @ ty_2Enum_2Enum @ bool ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ).

thf(tp_c_2EDecode_2Edecode__option,type,
    c_2EDecode_2Edecode__option: del > $i ).

thf(mem_c_2EDecode_2Edecode__option,axiom,
    ! [A_27a: del] : ( mem @ ( c_2EDecode_2Edecode__option @ A_27a ) @ ( arr @ ( arr @ ( ty_2Eoption_2Eoption @ A_27a ) @ bool ) @ ( arr @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Eoption_2Eoption @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) ) ).

thf(tp_c_2EDecode_2Edecode__prod,type,
    c_2EDecode_2Edecode__prod: del > del > $i ).

thf(mem_c_2EDecode_2Edecode__prod,axiom,
    ! [A_27a: del,A_27b: del] : ( mem @ ( c_2EDecode_2Edecode__prod @ A_27a @ A_27b ) @ ( arr @ ( arr @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) @ bool ) @ ( arr @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ ( arr @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) ) ) ).

thf(tp_c_2EDecode_2Edecode__sum,type,
    c_2EDecode_2Edecode__sum: del > del > $i ).

thf(mem_c_2EDecode_2Edecode__sum,axiom,
    ! [A_27a: del,A_27b: del] : ( mem @ ( c_2EDecode_2Edecode__sum @ A_27a @ A_27b ) @ ( arr @ ( arr @ ( ty_2Esum_2Esum @ A_27a @ A_27b ) @ bool ) @ ( arr @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ ( arr @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Esum_2Esum @ A_27a @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) ) ) ).

thf(tp_c_2EDecode_2Edecode__tree,type,
    c_2EDecode_2Edecode__tree: del > $i ).

thf(mem_c_2EDecode_2Edecode__tree,axiom,
    ! [A_27a: del] : ( mem @ ( c_2EDecode_2Edecode__tree @ A_27a ) @ ( arr @ ( arr @ ( ty_2EEncode_2Etree @ A_27a ) @ bool ) @ ( arr @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2EEncode_2Etree @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) ) ).

thf(stp_c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o,type,
    tp__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o: $tType ).

thf(stp_inj_c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o,type,
    inj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o: tp__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o > $i ).

thf(stp_surj_c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o,type,
    surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o: $i > tp__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o ).

thf(stp_inj_surj_c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o,axiom,
    ! [X: tp__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o] :
      ( ( surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o @ ( inj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o @ X ) )
      = X ) ).

thf(stp_inj_mem_c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o,axiom,
    ! [X: tp__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o] : ( mem @ ( inj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o @ X ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Eone_2Eone @ ( ty_2Elist_2Elist @ bool ) ) ) ) ).

thf(stp_iso_mem_c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o,axiom,
    ! [X: $i] :
      ( ( mem @ X @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Eone_2Eone @ ( ty_2Elist_2Elist @ bool ) ) ) )
     => ( X
        = ( inj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o @ ( surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o @ X ) ) ) ) ).

thf(stp_c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o,type,
    tp__c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o: $tType ).

thf(stp_inj_c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o,type,
    inj__c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o: tp__c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o > $i ).

thf(stp_surj_c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o,type,
    surj__c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o: $i > tp__c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o ).

thf(stp_inj_surj_c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o,axiom,
    ! [X: tp__c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o] :
      ( ( surj__c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o @ ( inj__c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o @ X ) )
      = X ) ).

thf(stp_inj_mem_c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o,axiom,
    ! [X: tp__c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o] : ( mem @ ( inj__c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o @ X ) @ ( ty_2Epair_2Eprod @ ty_2Eone_2Eone @ ( ty_2Elist_2Elist @ bool ) ) ) ).

thf(stp_iso_mem_c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o,axiom,
    ! [X: $i] :
      ( ( mem @ X @ ( ty_2Epair_2Eprod @ ty_2Eone_2Eone @ ( ty_2Elist_2Elist @ bool ) ) )
     => ( X
        = ( inj__c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o @ ( surj__c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o @ X ) ) ) ) ).

thf(tp_c_2EDecode_2Edecode__unit,type,
    c_2EDecode_2Edecode__unit: $i ).

thf(mem_c_2EDecode_2Edecode__unit,axiom,
    mem @ c_2EDecode_2Edecode__unit @ ( arr @ ( arr @ ty_2Eone_2Eone @ bool ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Eone_2Eone @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ).

thf(tp_c_2EDecode_2Eenc2dec,type,
    c_2EDecode_2Eenc2dec: del > $i ).

thf(mem_c_2EDecode_2Eenc2dec,axiom,
    ! [A_27a: del] : ( mem @ ( c_2EDecode_2Eenc2dec @ A_27a ) @ ( arr @ ( arr @ A_27a @ bool ) @ ( arr @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) ) ).

thf(tp_c_2EDecode_2Ewf__decoder,type,
    c_2EDecode_2Ewf__decoder: del > $i ).

thf(mem_c_2EDecode_2Ewf__decoder,axiom,
    ! [A_27a: del] : ( mem @ ( c_2EDecode_2Ewf__decoder @ A_27a ) @ ( arr @ ( arr @ A_27a @ bool ) @ ( arr @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ bool ) ) ) ).

thf(ax_thm_2EDecode_2Ewf__decoder__def,axiom,
    ! [A_27a: del,V0p: $i] :
      ( ( mem @ V0p @ ( arr @ A_27a @ bool ) )
     => ! [V1d: $i] :
          ( ( mem @ V1d @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
         => ( ( p @ ( ap @ ( ap @ ( c_2EDecode_2Ewf__decoder @ A_27a ) @ V0p ) @ V1d ) )
          <=> ! [V2x: $i] :
                ( ( mem @ V2x @ A_27a )
               => ( p
                  @ ( ap
                    @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ bool ) @ ( ap @ V0p @ V2x ) )
                      @ ( ap @ ( c_2Ebool_2E_3F @ ( ty_2Elist_2Elist @ bool ) )
                        @ ( lam @ ( ty_2Elist_2Elist @ bool )
                          @ ^ [V3a: $i] :
                              ( ap @ ( c_2Ebool_2E_21 @ ( ty_2Elist_2Elist @ bool ) )
                              @ ( lam @ ( ty_2Elist_2Elist @ bool )
                                @ ^ [V4b: $i] :
                                    ( ap @ ( c_2Ebool_2E_21 @ ( ty_2Elist_2Elist @ bool ) )
                                    @ ( lam @ ( ty_2Elist_2Elist @ bool )
                                      @ ^ [V5c: $i] : ( ap @ ( ap @ ( c_2Emin_2E_3D @ bool ) @ ( ap @ ( ap @ ( c_2Emin_2E_3D @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ ( ap @ V1d @ V4b ) ) @ ( ap @ ( c_2Eoption_2ESOME @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ V2x ) @ V5c ) ) ) ) @ ( ap @ ( ap @ ( c_2Emin_2E_3D @ ( ty_2Elist_2Elist @ bool ) ) @ V4b ) @ ( ap @ ( ap @ ( c_2Elist_2EAPPEND @ bool ) @ V3a ) @ V5c ) ) ) ) ) ) ) ) ) )
                    @ ( ap @ ( c_2Ebool_2E_21 @ ( ty_2Elist_2Elist @ bool ) )
                      @ ( lam @ ( ty_2Elist_2Elist @ bool )
                        @ ^ [V6a: $i] :
                            ( ap @ ( c_2Ebool_2E_21 @ ( ty_2Elist_2Elist @ bool ) )
                            @ ( lam @ ( ty_2Elist_2Elist @ bool )
                              @ ^ [V7b: $i] : ( ap @ c_2Ebool_2E_7E @ ( ap @ ( ap @ ( c_2Emin_2E_3D @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ ( ap @ V1d @ V6a ) ) @ ( ap @ ( c_2Eoption_2ESOME @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ V2x ) @ V7b ) ) ) ) ) ) ) ) ) ) ) ) ) ) ).

thf(ax_thm_2EDecode_2Eenc2dec__def,axiom,
    ! [A_27a: del,V0p: $i] :
      ( ( mem @ V0p @ ( arr @ A_27a @ bool ) )
     => ! [V1e: $i] :
          ( ( mem @ V1e @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) )
         => ! [V2l: tp__c_ty_2Elist_2Elist_o] :
              ( ( ap @ ( ap @ ( ap @ ( c_2EDecode_2Eenc2dec @ A_27a ) @ V0p ) @ V1e ) @ ( inj__c_ty_2Elist_2Elist_o @ V2l ) )
              = ( ap
                @ ( ap
                  @ ( ap @ ( c_2Ebool_2ECOND @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) )
                    @ ( ap @ ( c_2Ebool_2E_3F @ A_27a )
                      @ ( lam @ A_27a
                        @ ^ [V3x: $i] :
                            ( ap @ ( c_2Ebool_2E_3F @ ( ty_2Elist_2Elist @ bool ) )
                            @ ( lam @ ( ty_2Elist_2Elist @ bool )
                              @ ^ [V4t: $i] : ( ap @ ( ap @ c_2Ebool_2E_2F_5C @ ( ap @ V0p @ V3x ) ) @ ( ap @ ( ap @ ( c_2Emin_2E_3D @ ( ty_2Elist_2Elist @ bool ) ) @ ( inj__c_ty_2Elist_2Elist_o @ V2l ) ) @ ( ap @ ( ap @ ( c_2Elist_2EAPPEND @ bool ) @ ( ap @ V1e @ V3x ) ) @ V4t ) ) ) ) ) ) ) )
                  @ ( ap @ ( c_2Eoption_2ESOME @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) )
                    @ ( ap @ ( c_2Emin_2E_40 @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) )
                      @ ( ap @ ( c_2Epair_2EUNCURRY @ A_27a @ ( ty_2Elist_2Elist @ bool ) @ bool )
                        @ ( lam @ A_27a
                          @ ^ [V5x: $i] :
                              ( lam @ ( ty_2Elist_2Elist @ bool )
                              @ ^ [V6t: $i] : ( ap @ ( ap @ c_2Ebool_2E_2F_5C @ ( ap @ V0p @ V5x ) ) @ ( ap @ ( ap @ ( c_2Emin_2E_3D @ ( ty_2Elist_2Elist @ bool ) ) @ ( inj__c_ty_2Elist_2Elist_o @ V2l ) ) @ ( ap @ ( ap @ ( c_2Elist_2EAPPEND @ bool ) @ ( ap @ V1e @ V5x ) ) @ V6t ) ) ) ) ) ) ) ) )
                @ ( c_2Eoption_2ENONE @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) ) ).

thf(ax_thm_2EDecode_2Edec2enc__def,axiom,
    ! [A_27a: del,V0d: $i] :
      ( ( mem @ V0d @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
     => ! [V1x: $i] :
          ( ( mem @ V1x @ A_27a )
         => ( ( surj__c_ty_2Elist_2Elist_o @ ( ap @ ( ap @ ( c_2EDecode_2Edec2enc @ A_27a ) @ V0d ) @ V1x ) )
            = ( surj__c_ty_2Elist_2Elist_o
              @ ( ap @ ( c_2Emin_2E_40 @ ( ty_2Elist_2Elist @ bool ) )
                @ ( lam @ ( ty_2Elist_2Elist @ bool )
                  @ ^ [V2l: $i] : ( ap @ ( ap @ ( c_2Emin_2E_3D @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ ( ap @ V0d @ V2l ) ) @ ( ap @ ( c_2Eoption_2ESOME @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ V1x ) @ ( c_2Elist_2ENIL @ bool ) ) ) ) ) ) ) ) ) ) ).

thf(conj_thm_2EDecode_2Eenc2dec__none,axiom,
    ! [A_27a: del,V0p: $i] :
      ( ( mem @ V0p @ ( arr @ A_27a @ bool ) )
     => ! [V1e: $i] :
          ( ( mem @ V1e @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) )
         => ! [V2l: tp__c_ty_2Elist_2Elist_o] :
              ( ( ( ap @ ( ap @ ( ap @ ( c_2EDecode_2Eenc2dec @ A_27a ) @ V0p ) @ V1e ) @ ( inj__c_ty_2Elist_2Elist_o @ V2l ) )
                = ( c_2Eoption_2ENONE @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) )
            <=> ! [V3x: $i] :
                  ( ( mem @ V3x @ A_27a )
                 => ! [V4t: tp__c_ty_2Elist_2Elist_o] :
                      ( ( p @ ( ap @ V0p @ V3x ) )
                     => ( V2l
                       != ( surj__c_ty_2Elist_2Elist_o @ ( ap @ ( ap @ ( c_2Elist_2EAPPEND @ bool ) @ ( ap @ V1e @ V3x ) ) @ ( inj__c_ty_2Elist_2Elist_o @ V4t ) ) ) ) ) ) ) ) ) ).

thf(conj_thm_2EDecode_2Eenc2dec__some,axiom,
    ! [A_27a: del,V0p: $i] :
      ( ( mem @ V0p @ ( arr @ A_27a @ bool ) )
     => ! [V1e: $i] :
          ( ( mem @ V1e @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) )
         => ! [V2l: tp__c_ty_2Elist_2Elist_o,V3x: $i] :
              ( ( mem @ V3x @ A_27a )
             => ! [V4t: tp__c_ty_2Elist_2Elist_o] :
                  ( ( p @ ( ap @ ( ap @ ( c_2EEncode_2Ewf__encoder @ A_27a ) @ V0p ) @ V1e ) )
                 => ( ( ( ap @ ( ap @ ( ap @ ( c_2EDecode_2Eenc2dec @ A_27a ) @ V0p ) @ V1e ) @ ( inj__c_ty_2Elist_2Elist_o @ V2l ) )
                      = ( ap @ ( c_2Eoption_2ESOME @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ V3x ) @ ( inj__c_ty_2Elist_2Elist_o @ V4t ) ) ) )
                  <=> ( ( p @ ( ap @ V0p @ V3x ) )
                      & ( V2l
                        = ( surj__c_ty_2Elist_2Elist_o @ ( ap @ ( ap @ ( c_2Elist_2EAPPEND @ bool ) @ ( ap @ V1e @ V3x ) ) @ ( inj__c_ty_2Elist_2Elist_o @ V4t ) ) ) ) ) ) ) ) ) ) ).

thf(conj_thm_2EDecode_2Eenc2dec__some__alt,axiom,
    ! [A_27a: del,V0p: $i] :
      ( ( mem @ V0p @ ( arr @ A_27a @ bool ) )
     => ! [V1e: $i] :
          ( ( mem @ V1e @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) )
         => ! [V2l: tp__c_ty_2Elist_2Elist_o,V3x: $i] :
              ( ( mem @ V3x @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) )
             => ( ( p @ ( ap @ ( ap @ ( c_2EEncode_2Ewf__encoder @ A_27a ) @ V0p ) @ V1e ) )
               => ( ( ( ap @ ( ap @ ( ap @ ( c_2EDecode_2Eenc2dec @ A_27a ) @ V0p ) @ V1e ) @ ( inj__c_ty_2Elist_2Elist_o @ V2l ) )
                    = ( ap @ ( c_2Eoption_2ESOME @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) @ V3x ) )
                <=> ( ( p @ ( ap @ V0p @ ( ap @ ( c_2Epair_2EFST @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ V3x ) ) )
                    & ( V2l
                      = ( surj__c_ty_2Elist_2Elist_o @ ( ap @ ( ap @ ( c_2Elist_2EAPPEND @ bool ) @ ( ap @ V1e @ ( ap @ ( c_2Epair_2EFST @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ V3x ) ) ) @ ( ap @ ( c_2Epair_2ESND @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ V3x ) ) ) ) ) ) ) ) ) ) ).

thf(conj_thm_2EDecode_2Ewf__enc2dec,axiom,
    ! [A_27a: del,V0p: $i] :
      ( ( mem @ V0p @ ( arr @ A_27a @ bool ) )
     => ! [V1e: $i] :
          ( ( mem @ V1e @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) )
         => ( ( p @ ( ap @ ( ap @ ( c_2EEncode_2Ewf__encoder @ A_27a ) @ V0p ) @ V1e ) )
           => ( p @ ( ap @ ( ap @ ( c_2EDecode_2Ewf__decoder @ A_27a ) @ V0p ) @ ( ap @ ( ap @ ( c_2EDecode_2Eenc2dec @ A_27a ) @ V0p ) @ V1e ) ) ) ) ) ) ).

thf(conj_thm_2EDecode_2Edec2enc__some,axiom,
    ! [A_27a: del,V0p: $i] :
      ( ( mem @ V0p @ ( arr @ A_27a @ bool ) )
     => ! [V1d: $i] :
          ( ( mem @ V1d @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
         => ! [V2x: $i] :
              ( ( mem @ V2x @ A_27a )
             => ! [V3l: tp__c_ty_2Elist_2Elist_o] :
                  ( ( p @ ( ap @ ( ap @ ( c_2EDecode_2Ewf__decoder @ A_27a ) @ V0p ) @ V1d ) )
                 => ( ( ( ( surj__c_ty_2Elist_2Elist_o @ ( ap @ ( ap @ ( c_2EDecode_2Edec2enc @ A_27a ) @ V1d ) @ V2x ) )
                        = V3l )
                      & ( p @ ( ap @ V0p @ V2x ) ) )
                  <=> ( ( ap @ V1d @ ( inj__c_ty_2Elist_2Elist_o @ V3l ) )
                      = ( ap @ ( c_2Eoption_2ESOME @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ V2x ) @ ( c_2Elist_2ENIL @ bool ) ) ) ) ) ) ) ) ) ).

thf(conj_thm_2EDecode_2Edecode__dec2enc,axiom,
    ! [A_27a: del,V0p: $i] :
      ( ( mem @ V0p @ ( arr @ A_27a @ bool ) )
     => ! [V1d: $i] :
          ( ( mem @ V1d @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
         => ! [V2x: $i] :
              ( ( mem @ V2x @ A_27a )
             => ( ( ( p @ ( ap @ ( ap @ ( c_2EDecode_2Ewf__decoder @ A_27a ) @ V0p ) @ V1d ) )
                  & ( p @ ( ap @ V0p @ V2x ) ) )
               => ( ( ap @ V1d @ ( ap @ ( ap @ ( c_2EDecode_2Edec2enc @ A_27a ) @ V1d ) @ V2x ) )
                  = ( ap @ ( c_2Eoption_2ESOME @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ V2x ) @ ( c_2Elist_2ENIL @ bool ) ) ) ) ) ) ) ) ).

thf(conj_thm_2EDecode_2Edecode__dec2enc__append,axiom,
    ! [A_27a: del,V0p: $i] :
      ( ( mem @ V0p @ ( arr @ A_27a @ bool ) )
     => ! [V1d: $i] :
          ( ( mem @ V1d @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
         => ! [V2x: $i] :
              ( ( mem @ V2x @ A_27a )
             => ! [V3t: tp__c_ty_2Elist_2Elist_o] :
                  ( ( ( p @ ( ap @ ( ap @ ( c_2EDecode_2Ewf__decoder @ A_27a ) @ V0p ) @ V1d ) )
                    & ( p @ ( ap @ V0p @ V2x ) ) )
                 => ( ( ap @ V1d @ ( ap @ ( ap @ ( c_2Elist_2EAPPEND @ bool ) @ ( ap @ ( ap @ ( c_2EDecode_2Edec2enc @ A_27a ) @ V1d ) @ V2x ) ) @ ( inj__c_ty_2Elist_2Elist_o @ V3t ) ) )
                    = ( ap @ ( c_2Eoption_2ESOME @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ V2x ) @ ( inj__c_ty_2Elist_2Elist_o @ V3t ) ) ) ) ) ) ) ) ).

thf(conj_thm_2EDecode_2Ewf__dec2enc,axiom,
    ! [A_27a: del,V0p: $i] :
      ( ( mem @ V0p @ ( arr @ A_27a @ bool ) )
     => ! [V1d: $i] :
          ( ( mem @ V1d @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
         => ( ( p @ ( ap @ ( ap @ ( c_2EDecode_2Ewf__decoder @ A_27a ) @ V0p ) @ V1d ) )
           => ( p @ ( ap @ ( ap @ ( c_2EEncode_2Ewf__encoder @ A_27a ) @ V0p ) @ ( ap @ ( c_2EDecode_2Edec2enc @ A_27a ) @ V1d ) ) ) ) ) ) ).

thf(conj_thm_2EDecode_2Edec2enc__enc2dec,axiom,
    ! [A_27a: del,V0p: $i] :
      ( ( mem @ V0p @ ( arr @ A_27a @ bool ) )
     => ! [V1e: $i] :
          ( ( mem @ V1e @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) )
         => ! [V2x: $i] :
              ( ( mem @ V2x @ A_27a )
             => ( ( ( p @ ( ap @ ( ap @ ( c_2EEncode_2Ewf__encoder @ A_27a ) @ V0p ) @ V1e ) )
                  & ( p @ ( ap @ V0p @ V2x ) ) )
               => ( ( surj__c_ty_2Elist_2Elist_o @ ( ap @ ( ap @ ( c_2EDecode_2Edec2enc @ A_27a ) @ ( ap @ ( ap @ ( c_2EDecode_2Eenc2dec @ A_27a ) @ V0p ) @ V1e ) ) @ V2x ) )
                  = ( surj__c_ty_2Elist_2Elist_o @ ( ap @ V1e @ V2x ) ) ) ) ) ) ) ).

thf(conj_thm_2EDecode_2Eenc2dec__dec2enc,axiom,
    ! [A_27a: del,V0p: $i] :
      ( ( mem @ V0p @ ( arr @ A_27a @ bool ) )
     => ! [V1d: $i] :
          ( ( mem @ V1d @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
         => ( ( p @ ( ap @ ( ap @ ( c_2EDecode_2Ewf__decoder @ A_27a ) @ V0p ) @ V1d ) )
           => ( ( ap @ ( ap @ ( c_2EDecode_2Eenc2dec @ A_27a ) @ V0p ) @ ( ap @ ( c_2EDecode_2Edec2enc @ A_27a ) @ V1d ) )
              = V1d ) ) ) ) ).

thf(ax_thm_2EDecode_2Edecode__unit__def,axiom,
    ! [V0p: $i] :
      ( ( mem @ V0p @ ( arr @ ty_2Eone_2Eone @ bool ) )
     => ( ( ap @ c_2EDecode_2Edecode__unit @ V0p )
        = ( ap @ ( ap @ ( c_2EDecode_2Eenc2dec @ ty_2Eone_2Eone ) @ V0p ) @ c_2EEncode_2Eencode__unit ) ) ) ).

thf(conj_thm_2EDecode_2Ewf__decode__unit,axiom,
    ! [V0p: $i] :
      ( ( mem @ V0p @ ( arr @ ty_2Eone_2Eone @ bool ) )
     => ( p @ ( ap @ ( ap @ ( c_2EDecode_2Ewf__decoder @ ty_2Eone_2Eone ) @ V0p ) @ ( ap @ c_2EDecode_2Edecode__unit @ V0p ) ) ) ) ).

thf(conj_thm_2EDecode_2Edec2enc__decode__unit,axiom,
    ! [V0p: $i] :
      ( ( mem @ V0p @ ( arr @ ty_2Eone_2Eone @ bool ) )
     => ! [V1x: tp__ty_2Eone_2Eone] :
          ( ( p @ ( ap @ V0p @ ( inj__ty_2Eone_2Eone @ V1x ) ) )
         => ( ( surj__c_ty_2Elist_2Elist_o @ ( ap @ ( ap @ ( c_2EDecode_2Edec2enc @ ty_2Eone_2Eone ) @ ( ap @ c_2EDecode_2Edecode__unit @ V0p ) ) @ ( inj__ty_2Eone_2Eone @ V1x ) ) )
            = ( surj__c_ty_2Elist_2Elist_o @ ( ap @ c_2EEncode_2Eencode__unit @ ( inj__ty_2Eone_2Eone @ V1x ) ) ) ) ) ) ).

thf(conj_thm_2EDecode_2Edecode__unit,axiom,
    ! [V0p: $i] :
      ( ( mem @ V0p @ ( arr @ ty_2Eone_2Eone @ bool ) )
     => ! [V1l: tp__c_ty_2Elist_2Elist_o] :
          ( ( surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o @ ( ap @ ( ap @ c_2EDecode_2Edecode__unit @ V0p ) @ ( inj__c_ty_2Elist_2Elist_o @ V1l ) ) )
          = ( surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o @ ( ap @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Eone_2Eone @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ ( ap @ V0p @ ( inj__ty_2Eone_2Eone @ fo__c_2Eone_2Eone ) ) ) @ ( ap @ ( c_2Eoption_2ESOME @ ( ty_2Epair_2Eprod @ ty_2Eone_2Eone @ ( ty_2Elist_2Elist @ bool ) ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Eone_2Eone @ ( ty_2Elist_2Elist @ bool ) ) @ ( inj__ty_2Eone_2Eone @ fo__c_2Eone_2Eone ) ) @ ( inj__c_ty_2Elist_2Elist_o @ V1l ) ) ) ) @ ( c_2Eoption_2ENONE @ ( ty_2Epair_2Eprod @ ty_2Eone_2Eone @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) ) ).

thf(ax_thm_2EDecode_2Edecode__bool__def,axiom,
    ! [V0p: $i] :
      ( ( mem @ V0p @ ( arr @ bool @ bool ) )
     => ( ( ap @ c_2EDecode_2Edecode__bool @ V0p )
        = ( ap @ ( ap @ ( c_2EDecode_2Eenc2dec @ bool ) @ V0p ) @ c_2EEncode_2Eencode__bool ) ) ) ).

thf(conj_thm_2EDecode_2Ewf__decode__bool,axiom,
    ! [V0p: $i] :
      ( ( mem @ V0p @ ( arr @ bool @ bool ) )
     => ( p @ ( ap @ ( ap @ ( c_2EDecode_2Ewf__decoder @ bool ) @ V0p ) @ ( ap @ c_2EDecode_2Edecode__bool @ V0p ) ) ) ) ).

thf(conj_thm_2EDecode_2Edec2enc__decode__bool,axiom,
    ! [V0p: $i] :
      ( ( mem @ V0p @ ( arr @ bool @ bool ) )
     => ! [V1x: $i] :
          ( ( mem @ V1x @ bool )
         => ( ( p @ ( ap @ V0p @ V1x ) )
           => ( ( surj__c_ty_2Elist_2Elist_o @ ( ap @ ( ap @ ( c_2EDecode_2Edec2enc @ bool ) @ ( ap @ c_2EDecode_2Edecode__bool @ V0p ) ) @ V1x ) )
              = ( surj__c_ty_2Elist_2Elist_o @ ( ap @ c_2EEncode_2Eencode__bool @ V1x ) ) ) ) ) ) ).

thf(conj_thm_2EDecode_2Edecode__bool,axiom,
    ! [V0p: $i] :
      ( ( mem @ V0p @ ( arr @ bool @ bool ) )
     => ! [V1l: tp__c_ty_2Elist_2Elist_o] :
          ( ( surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_o_c_ty_2Elist_2Elist_o @ ( ap @ ( ap @ c_2EDecode_2Edecode__bool @ V0p ) @ ( inj__c_ty_2Elist_2Elist_o @ V1l ) ) )
          = ( surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_o_c_ty_2Elist_2Elist_o
            @ ( ap @ ( ap @ ( ap @ ( c_2Elist_2Elist__CASE @ bool @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ bool @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ ( inj__c_ty_2Elist_2Elist_o @ V1l ) ) @ ( c_2Eoption_2ENONE @ ( ty_2Epair_2Eprod @ bool @ ( ty_2Elist_2Elist @ bool ) ) ) )
              @ ( lam @ bool
                @ ^ [V2h: $i] :
                    ( lam @ ( ty_2Elist_2Elist @ bool )
                    @ ^ [V3t: $i] : ( ap @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ bool @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ ( ap @ V0p @ V2h ) ) @ ( ap @ ( c_2Eoption_2ESOME @ ( ty_2Epair_2Eprod @ bool @ ( ty_2Elist_2Elist @ bool ) ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ bool @ ( ty_2Elist_2Elist @ bool ) ) @ V2h ) @ V3t ) ) ) @ ( c_2Eoption_2ENONE @ ( ty_2Epair_2Eprod @ bool @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) ) ) ) ) ).

thf(ax_thm_2EDecode_2Edecode__prod__def,axiom,
    ! [A_27a: del,A_27b: del,V0p: $i] :
      ( ( mem @ V0p @ ( arr @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) @ bool ) )
     => ! [V1d1: $i] :
          ( ( mem @ V1d1 @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
         => ! [V2d2: $i] :
              ( ( mem @ V2d2 @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
             => ( ( ap @ ( ap @ ( ap @ ( c_2EDecode_2Edecode__prod @ A_27a @ A_27b ) @ V0p ) @ V1d1 ) @ V2d2 )
                = ( ap @ ( ap @ ( c_2EDecode_2Eenc2dec @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) @ V0p ) @ ( ap @ ( ap @ ( c_2EEncode_2Eencode__prod @ A_27a @ A_27b ) @ ( ap @ ( c_2EDecode_2Edec2enc @ A_27a ) @ V1d1 ) ) @ ( ap @ ( c_2EDecode_2Edec2enc @ A_27b ) @ V2d2 ) ) ) ) ) ) ) ).

thf(conj_thm_2EDecode_2Ewf__decode__prod,axiom,
    ! [A_27a: del,A_27b: del,V0p1: $i] :
      ( ( mem @ V0p1 @ ( arr @ A_27a @ bool ) )
     => ! [V1p2: $i] :
          ( ( mem @ V1p2 @ ( arr @ A_27b @ bool ) )
         => ! [V2d1: $i] :
              ( ( mem @ V2d1 @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
             => ! [V3d2: $i] :
                  ( ( mem @ V3d2 @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
                 => ( ( ( p @ ( ap @ ( ap @ ( c_2EDecode_2Ewf__decoder @ A_27a ) @ V0p1 ) @ V2d1 ) )
                      & ( p @ ( ap @ ( ap @ ( c_2EDecode_2Ewf__decoder @ A_27b ) @ V1p2 ) @ V3d2 ) ) )
                   => ( p @ ( ap @ ( ap @ ( c_2EDecode_2Ewf__decoder @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) @ ( ap @ ( ap @ ( c_2EEncode_2Elift__prod @ A_27a @ A_27b ) @ V0p1 ) @ V1p2 ) ) @ ( ap @ ( ap @ ( ap @ ( c_2EDecode_2Edecode__prod @ A_27a @ A_27b ) @ ( ap @ ( ap @ ( c_2EEncode_2Elift__prod @ A_27a @ A_27b ) @ V0p1 ) @ V1p2 ) ) @ V2d1 ) @ V3d2 ) ) ) ) ) ) ) ) ).

thf(conj_thm_2EDecode_2Edec2enc__decode__prod,axiom,
    ! [A_27a: del,A_27b: del,V0p1: $i] :
      ( ( mem @ V0p1 @ ( arr @ A_27a @ bool ) )
     => ! [V1p2: $i] :
          ( ( mem @ V1p2 @ ( arr @ A_27b @ bool ) )
         => ! [V2d1: $i] :
              ( ( mem @ V2d1 @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
             => ! [V3d2: $i] :
                  ( ( mem @ V3d2 @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
                 => ! [V4x: $i] :
                      ( ( mem @ V4x @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) )
                     => ( ( ( p @ ( ap @ ( ap @ ( c_2EDecode_2Ewf__decoder @ A_27a ) @ V0p1 ) @ V2d1 ) )
                          & ( p @ ( ap @ ( ap @ ( c_2EDecode_2Ewf__decoder @ A_27b ) @ V1p2 ) @ V3d2 ) )
                          & ( p @ ( ap @ ( ap @ ( ap @ ( c_2EEncode_2Elift__prod @ A_27a @ A_27b ) @ V0p1 ) @ V1p2 ) @ V4x ) ) )
                       => ( ( surj__c_ty_2Elist_2Elist_o @ ( ap @ ( ap @ ( c_2EDecode_2Edec2enc @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) @ ( ap @ ( ap @ ( ap @ ( c_2EDecode_2Edecode__prod @ A_27a @ A_27b ) @ ( ap @ ( ap @ ( c_2EEncode_2Elift__prod @ A_27a @ A_27b ) @ V0p1 ) @ V1p2 ) ) @ V2d1 ) @ V3d2 ) ) @ V4x ) )
                          = ( surj__c_ty_2Elist_2Elist_o @ ( ap @ ( ap @ ( ap @ ( c_2EEncode_2Eencode__prod @ A_27a @ A_27b ) @ ( ap @ ( c_2EDecode_2Edec2enc @ A_27a ) @ V2d1 ) ) @ ( ap @ ( c_2EDecode_2Edec2enc @ A_27b ) @ V3d2 ) ) @ V4x ) ) ) ) ) ) ) ) ) ).

thf(conj_thm_2EDecode_2Eencode__then__decode__prod,axiom,
    ! [A_27a: del,A_27b: del,V0p1: $i] :
      ( ( mem @ V0p1 @ ( arr @ A_27a @ bool ) )
     => ! [V1p2: $i] :
          ( ( mem @ V1p2 @ ( arr @ A_27b @ bool ) )
         => ! [V2e1: $i] :
              ( ( mem @ V2e1 @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) )
             => ! [V3e2: $i] :
                  ( ( mem @ V3e2 @ ( arr @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) )
                 => ! [V4l: $i] :
                      ( ( mem @ V4l @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) )
                     => ! [V5t: tp__c_ty_2Elist_2Elist_o] :
                          ( ( ( p @ ( ap @ ( ap @ ( c_2EEncode_2Ewf__encoder @ A_27a ) @ V0p1 ) @ V2e1 ) )
                            & ( p @ ( ap @ ( ap @ ( c_2EEncode_2Ewf__encoder @ A_27b ) @ V1p2 ) @ V3e2 ) )
                            & ( p @ ( ap @ ( ap @ ( ap @ ( c_2EEncode_2Elift__prod @ A_27a @ A_27b ) @ V0p1 ) @ V1p2 ) @ V4l ) ) )
                         => ( ( ap @ ( ap @ ( ap @ ( ap @ ( c_2EDecode_2Edecode__prod @ A_27a @ A_27b ) @ ( ap @ ( ap @ ( c_2EEncode_2Elift__prod @ A_27a @ A_27b ) @ V0p1 ) @ V1p2 ) ) @ ( ap @ ( ap @ ( c_2EDecode_2Eenc2dec @ A_27a ) @ V0p1 ) @ V2e1 ) ) @ ( ap @ ( ap @ ( c_2EDecode_2Eenc2dec @ A_27b ) @ V1p2 ) @ V3e2 ) ) @ ( ap @ ( ap @ ( c_2Elist_2EAPPEND @ bool ) @ ( ap @ ( ap @ ( ap @ ( c_2EEncode_2Eencode__prod @ A_27a @ A_27b ) @ V2e1 ) @ V3e2 ) @ V4l ) ) @ ( inj__c_ty_2Elist_2Elist_o @ V5t ) ) )
                            = ( ap @ ( c_2Eoption_2ESOME @ ( ty_2Epair_2Eprod @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) @ V4l ) @ ( inj__c_ty_2Elist_2Elist_o @ V5t ) ) ) ) ) ) ) ) ) ) ).

thf(conj_thm_2EDecode_2Edecode__prod,axiom,
    ! [A_27a: del,A_27b: del,V0p1: $i] :
      ( ( mem @ V0p1 @ ( arr @ A_27a @ bool ) )
     => ! [V1d1: $i] :
          ( ( mem @ V1d1 @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
         => ! [V2p2: $i] :
              ( ( mem @ V2p2 @ ( arr @ A_27b @ bool ) )
             => ! [V3d2: $i] :
                  ( ( mem @ V3d2 @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
                 => ! [V4l: tp__c_ty_2Elist_2Elist_o] :
                      ( ( ( p @ ( ap @ ( ap @ ( c_2EDecode_2Ewf__decoder @ A_27a ) @ V0p1 ) @ V1d1 ) )
                        & ( p @ ( ap @ ( ap @ ( c_2EDecode_2Ewf__decoder @ A_27b ) @ V2p2 ) @ V3d2 ) ) )
                     => ( ( ap @ ( ap @ ( ap @ ( ap @ ( c_2EDecode_2Edecode__prod @ A_27a @ A_27b ) @ ( ap @ ( ap @ ( c_2EEncode_2Elift__prod @ A_27a @ A_27b ) @ V0p1 ) @ V2p2 ) ) @ V1d1 ) @ V3d2 ) @ ( inj__c_ty_2Elist_2Elist_o @ V4l ) )
                        = ( ap @ ( ap @ ( ap @ ( c_2Eoption_2Eoption__CASE @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ ( ap @ V1d1 @ ( inj__c_ty_2Elist_2Elist_o @ V4l ) ) ) @ ( c_2Eoption_2ENONE @ ( ty_2Epair_2Eprod @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) ) )
                          @ ( lam @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) )
                            @ ^ [V5v1: $i] :
                                ( ap @ ( ap @ ( c_2Epair_2Epair__CASE @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) ) @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ V5v1 )
                                @ ( lam @ A_27a
                                  @ ^ [V6x: $i] :
                                      ( lam @ ( ty_2Elist_2Elist @ bool )
                                      @ ^ [V7t: $i] :
                                          ( ap @ ( ap @ ( ap @ ( c_2Eoption_2Eoption__CASE @ ( ty_2Epair_2Eprod @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ ( ap @ V3d2 @ V7t ) ) @ ( c_2Eoption_2ENONE @ ( ty_2Epair_2Eprod @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) ) )
                                          @ ( lam @ ( ty_2Epair_2Eprod @ A_27b @ ( ty_2Elist_2Elist @ bool ) )
                                            @ ^ [V8v: $i] :
                                                ( ap @ ( ap @ ( c_2Epair_2Epair__CASE @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) ) @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) @ V8v )
                                                @ ( lam @ A_27b
                                                  @ ^ [V9y: $i] :
                                                      ( lam @ ( ty_2Elist_2Elist @ bool )
                                                      @ ^ [V10t_27: $i] : ( ap @ ( c_2Eoption_2ESOME @ ( ty_2Epair_2Eprod @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ A_27a @ A_27b ) @ V6x ) @ V9y ) ) @ V10t_27 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ).

thf(ax_thm_2EDecode_2Edecode__sum__def,axiom,
    ! [A_27a: del,A_27b: del,V0p: $i] :
      ( ( mem @ V0p @ ( arr @ ( ty_2Esum_2Esum @ A_27a @ A_27b ) @ bool ) )
     => ! [V1d1: $i] :
          ( ( mem @ V1d1 @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
         => ! [V2d2: $i] :
              ( ( mem @ V2d2 @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
             => ( ( ap @ ( ap @ ( ap @ ( c_2EDecode_2Edecode__sum @ A_27a @ A_27b ) @ V0p ) @ V1d1 ) @ V2d2 )
                = ( ap @ ( ap @ ( c_2EDecode_2Eenc2dec @ ( ty_2Esum_2Esum @ A_27a @ A_27b ) ) @ V0p ) @ ( ap @ ( ap @ ( c_2EEncode_2Eencode__sum @ A_27a @ A_27b ) @ ( ap @ ( c_2EDecode_2Edec2enc @ A_27a ) @ V1d1 ) ) @ ( ap @ ( c_2EDecode_2Edec2enc @ A_27b ) @ V2d2 ) ) ) ) ) ) ) ).

thf(conj_thm_2EDecode_2Ewf__decode__sum,axiom,
    ! [A_27a: del,A_27b: del,V0p1: $i] :
      ( ( mem @ V0p1 @ ( arr @ A_27a @ bool ) )
     => ! [V1p2: $i] :
          ( ( mem @ V1p2 @ ( arr @ A_27b @ bool ) )
         => ! [V2d1: $i] :
              ( ( mem @ V2d1 @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
             => ! [V3d2: $i] :
                  ( ( mem @ V3d2 @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
                 => ( ( ( p @ ( ap @ ( ap @ ( c_2EDecode_2Ewf__decoder @ A_27a ) @ V0p1 ) @ V2d1 ) )
                      & ( p @ ( ap @ ( ap @ ( c_2EDecode_2Ewf__decoder @ A_27b ) @ V1p2 ) @ V3d2 ) ) )
                   => ( p @ ( ap @ ( ap @ ( c_2EDecode_2Ewf__decoder @ ( ty_2Esum_2Esum @ A_27a @ A_27b ) ) @ ( ap @ ( ap @ ( c_2EEncode_2Elift__sum @ A_27a @ A_27b ) @ V0p1 ) @ V1p2 ) ) @ ( ap @ ( ap @ ( ap @ ( c_2EDecode_2Edecode__sum @ A_27a @ A_27b ) @ ( ap @ ( ap @ ( c_2EEncode_2Elift__sum @ A_27a @ A_27b ) @ V0p1 ) @ V1p2 ) ) @ V2d1 ) @ V3d2 ) ) ) ) ) ) ) ) ).

thf(conj_thm_2EDecode_2Edec2enc__decode__sum,axiom,
    ! [A_27a: del,A_27b: del,V0p1: $i] :
      ( ( mem @ V0p1 @ ( arr @ A_27a @ bool ) )
     => ! [V1p2: $i] :
          ( ( mem @ V1p2 @ ( arr @ A_27b @ bool ) )
         => ! [V2d1: $i] :
              ( ( mem @ V2d1 @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
             => ! [V3d2: $i] :
                  ( ( mem @ V3d2 @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
                 => ! [V4x: $i] :
                      ( ( mem @ V4x @ ( ty_2Esum_2Esum @ A_27a @ A_27b ) )
                     => ( ( ( p @ ( ap @ ( ap @ ( c_2EDecode_2Ewf__decoder @ A_27a ) @ V0p1 ) @ V2d1 ) )
                          & ( p @ ( ap @ ( ap @ ( c_2EDecode_2Ewf__decoder @ A_27b ) @ V1p2 ) @ V3d2 ) )
                          & ( p @ ( ap @ ( ap @ ( ap @ ( c_2EEncode_2Elift__sum @ A_27a @ A_27b ) @ V0p1 ) @ V1p2 ) @ V4x ) ) )
                       => ( ( surj__c_ty_2Elist_2Elist_o @ ( ap @ ( ap @ ( c_2EDecode_2Edec2enc @ ( ty_2Esum_2Esum @ A_27a @ A_27b ) ) @ ( ap @ ( ap @ ( ap @ ( c_2EDecode_2Edecode__sum @ A_27a @ A_27b ) @ ( ap @ ( ap @ ( c_2EEncode_2Elift__sum @ A_27a @ A_27b ) @ V0p1 ) @ V1p2 ) ) @ V2d1 ) @ V3d2 ) ) @ V4x ) )
                          = ( surj__c_ty_2Elist_2Elist_o @ ( ap @ ( ap @ ( ap @ ( c_2EEncode_2Eencode__sum @ A_27a @ A_27b ) @ ( ap @ ( c_2EDecode_2Edec2enc @ A_27a ) @ V2d1 ) ) @ ( ap @ ( c_2EDecode_2Edec2enc @ A_27b ) @ V3d2 ) ) @ V4x ) ) ) ) ) ) ) ) ) ).

thf(conj_thm_2EDecode_2Eencode__then__decode__sum,axiom,
    ! [A_27a: del,A_27b: del,V0p1: $i] :
      ( ( mem @ V0p1 @ ( arr @ A_27a @ bool ) )
     => ! [V1p2: $i] :
          ( ( mem @ V1p2 @ ( arr @ A_27b @ bool ) )
         => ! [V2e1: $i] :
              ( ( mem @ V2e1 @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) )
             => ! [V3e2: $i] :
                  ( ( mem @ V3e2 @ ( arr @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) )
                 => ! [V4l: $i] :
                      ( ( mem @ V4l @ ( ty_2Esum_2Esum @ A_27a @ A_27b ) )
                     => ! [V5t: tp__c_ty_2Elist_2Elist_o] :
                          ( ( ( p @ ( ap @ ( ap @ ( c_2EEncode_2Ewf__encoder @ A_27a ) @ V0p1 ) @ V2e1 ) )
                            & ( p @ ( ap @ ( ap @ ( c_2EEncode_2Ewf__encoder @ A_27b ) @ V1p2 ) @ V3e2 ) )
                            & ( p @ ( ap @ ( ap @ ( ap @ ( c_2EEncode_2Elift__sum @ A_27a @ A_27b ) @ V0p1 ) @ V1p2 ) @ V4l ) ) )
                         => ( ( ap @ ( ap @ ( ap @ ( ap @ ( c_2EDecode_2Edecode__sum @ A_27a @ A_27b ) @ ( ap @ ( ap @ ( c_2EEncode_2Elift__sum @ A_27a @ A_27b ) @ V0p1 ) @ V1p2 ) ) @ ( ap @ ( ap @ ( c_2EDecode_2Eenc2dec @ A_27a ) @ V0p1 ) @ V2e1 ) ) @ ( ap @ ( ap @ ( c_2EDecode_2Eenc2dec @ A_27b ) @ V1p2 ) @ V3e2 ) ) @ ( ap @ ( ap @ ( c_2Elist_2EAPPEND @ bool ) @ ( ap @ ( ap @ ( ap @ ( c_2EEncode_2Eencode__sum @ A_27a @ A_27b ) @ V2e1 ) @ V3e2 ) @ V4l ) ) @ ( inj__c_ty_2Elist_2Elist_o @ V5t ) ) )
                            = ( ap @ ( c_2Eoption_2ESOME @ ( ty_2Epair_2Eprod @ ( ty_2Esum_2Esum @ A_27a @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( ty_2Esum_2Esum @ A_27a @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) @ V4l ) @ ( inj__c_ty_2Elist_2Elist_o @ V5t ) ) ) ) ) ) ) ) ) ) ).

thf(conj_thm_2EDecode_2Edecode__sum,axiom,
    ! [A_27a: del,A_27b: del,V0p1: $i] :
      ( ( mem @ V0p1 @ ( arr @ A_27a @ bool ) )
     => ! [V1d1: $i] :
          ( ( mem @ V1d1 @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
         => ! [V2p2: $i] :
              ( ( mem @ V2p2 @ ( arr @ A_27b @ bool ) )
             => ! [V3d2: $i] :
                  ( ( mem @ V3d2 @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
                 => ! [V4l: tp__c_ty_2Elist_2Elist_o] :
                      ( ( ( p @ ( ap @ ( ap @ ( c_2EDecode_2Ewf__decoder @ A_27a ) @ V0p1 ) @ V1d1 ) )
                        & ( p @ ( ap @ ( ap @ ( c_2EDecode_2Ewf__decoder @ A_27b ) @ V2p2 ) @ V3d2 ) ) )
                     => ( ( ap @ ( ap @ ( ap @ ( ap @ ( c_2EDecode_2Edecode__sum @ A_27a @ A_27b ) @ ( ap @ ( ap @ ( c_2EEncode_2Elift__sum @ A_27a @ A_27b ) @ V0p1 ) @ V2p2 ) ) @ V1d1 ) @ V3d2 ) @ ( inj__c_ty_2Elist_2Elist_o @ V4l ) )
                        = ( ap @ ( ap @ ( ap @ ( c_2Elist_2Elist__CASE @ bool @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Esum_2Esum @ A_27a @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ ( inj__c_ty_2Elist_2Elist_o @ V4l ) ) @ ( c_2Eoption_2ENONE @ ( ty_2Epair_2Eprod @ ( ty_2Esum_2Esum @ A_27a @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) ) )
                          @ ( lam @ bool
                            @ ^ [V5v1: $i] :
                                ( lam @ ( ty_2Elist_2Elist @ bool )
                                @ ^ [V6t: $i] :
                                    ( ap
                                    @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Esum_2Esum @ A_27a @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ V5v1 )
                                      @ ( ap @ ( ap @ ( ap @ ( c_2Eoption_2Eoption__CASE @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Esum_2Esum @ A_27a @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ ( ap @ V1d1 @ V6t ) ) @ ( c_2Eoption_2ENONE @ ( ty_2Epair_2Eprod @ ( ty_2Esum_2Esum @ A_27a @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) ) )
                                        @ ( lam @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) )
                                          @ ^ [V7v: $i] :
                                              ( ap @ ( ap @ ( c_2Epair_2Epair__CASE @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Esum_2Esum @ A_27a @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) ) @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ V7v )
                                              @ ( lam @ A_27a
                                                @ ^ [V8x: $i] :
                                                    ( lam @ ( ty_2Elist_2Elist @ bool )
                                                    @ ^ [V9t_27: $i] : ( ap @ ( c_2Eoption_2ESOME @ ( ty_2Epair_2Eprod @ ( ty_2Esum_2Esum @ A_27a @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( ty_2Esum_2Esum @ A_27a @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) @ ( ap @ ( c_2Esum_2EINL @ A_27a @ A_27b ) @ V8x ) ) @ V9t_27 ) ) ) ) ) ) ) )
                                    @ ( ap @ ( ap @ ( ap @ ( c_2Eoption_2Eoption__CASE @ ( ty_2Epair_2Eprod @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Esum_2Esum @ A_27a @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ ( ap @ V3d2 @ V6t ) ) @ ( c_2Eoption_2ENONE @ ( ty_2Epair_2Eprod @ ( ty_2Esum_2Esum @ A_27a @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) ) )
                                      @ ( lam @ ( ty_2Epair_2Eprod @ A_27b @ ( ty_2Elist_2Elist @ bool ) )
                                        @ ^ [V10v: $i] :
                                            ( ap @ ( ap @ ( c_2Epair_2Epair__CASE @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Esum_2Esum @ A_27a @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) ) @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) @ V10v )
                                            @ ( lam @ A_27b
                                              @ ^ [V11x: $i] :
                                                  ( lam @ ( ty_2Elist_2Elist @ bool )
                                                  @ ^ [V12t_27: $i] : ( ap @ ( c_2Eoption_2ESOME @ ( ty_2Epair_2Eprod @ ( ty_2Esum_2Esum @ A_27a @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( ty_2Esum_2Esum @ A_27a @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) @ ( ap @ ( c_2Esum_2EINR @ A_27a @ A_27b ) @ V11x ) ) @ V12t_27 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ).

thf(ax_thm_2EDecode_2Edecode__option__def,axiom,
    ! [A_27a: del,V0p: $i] :
      ( ( mem @ V0p @ ( arr @ ( ty_2Eoption_2Eoption @ A_27a ) @ bool ) )
     => ! [V1d: $i] :
          ( ( mem @ V1d @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
         => ( ( ap @ ( ap @ ( c_2EDecode_2Edecode__option @ A_27a ) @ V0p ) @ V1d )
            = ( ap @ ( ap @ ( c_2EDecode_2Eenc2dec @ ( ty_2Eoption_2Eoption @ A_27a ) ) @ V0p ) @ ( ap @ ( c_2EEncode_2Eencode__option @ A_27a ) @ ( ap @ ( c_2EDecode_2Edec2enc @ A_27a ) @ V1d ) ) ) ) ) ) ).

thf(conj_thm_2EDecode_2Ewf__decode__option,axiom,
    ! [A_27a: del,V0p: $i] :
      ( ( mem @ V0p @ ( arr @ A_27a @ bool ) )
     => ! [V1d: $i] :
          ( ( mem @ V1d @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
         => ( ( p @ ( ap @ ( ap @ ( c_2EDecode_2Ewf__decoder @ A_27a ) @ V0p ) @ V1d ) )
           => ( p @ ( ap @ ( ap @ ( c_2EDecode_2Ewf__decoder @ ( ty_2Eoption_2Eoption @ A_27a ) ) @ ( ap @ ( c_2EEncode_2Elift__option @ A_27a ) @ V0p ) ) @ ( ap @ ( ap @ ( c_2EDecode_2Edecode__option @ A_27a ) @ ( ap @ ( c_2EEncode_2Elift__option @ A_27a ) @ V0p ) ) @ V1d ) ) ) ) ) ) ).

thf(conj_thm_2EDecode_2Edec2enc__decode__option,axiom,
    ! [A_27a: del,V0p: $i] :
      ( ( mem @ V0p @ ( arr @ A_27a @ bool ) )
     => ! [V1d: $i] :
          ( ( mem @ V1d @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
         => ! [V2x: $i] :
              ( ( mem @ V2x @ ( ty_2Eoption_2Eoption @ A_27a ) )
             => ( ( ( p @ ( ap @ ( ap @ ( c_2EDecode_2Ewf__decoder @ A_27a ) @ V0p ) @ V1d ) )
                  & ( p @ ( ap @ ( ap @ ( c_2EEncode_2Elift__option @ A_27a ) @ V0p ) @ V2x ) ) )
               => ( ( surj__c_ty_2Elist_2Elist_o @ ( ap @ ( ap @ ( c_2EDecode_2Edec2enc @ ( ty_2Eoption_2Eoption @ A_27a ) ) @ ( ap @ ( ap @ ( c_2EDecode_2Edecode__option @ A_27a ) @ ( ap @ ( c_2EEncode_2Elift__option @ A_27a ) @ V0p ) ) @ V1d ) ) @ V2x ) )
                  = ( surj__c_ty_2Elist_2Elist_o @ ( ap @ ( ap @ ( c_2EEncode_2Eencode__option @ A_27a ) @ ( ap @ ( c_2EDecode_2Edec2enc @ A_27a ) @ V1d ) ) @ V2x ) ) ) ) ) ) ) ).

thf(conj_thm_2EDecode_2Eencode__then__decode__option,axiom,
    ! [A_27a: del,V0p: $i] :
      ( ( mem @ V0p @ ( arr @ A_27a @ bool ) )
     => ! [V1e: $i] :
          ( ( mem @ V1e @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) )
         => ! [V2l: $i] :
              ( ( mem @ V2l @ ( ty_2Eoption_2Eoption @ A_27a ) )
             => ! [V3t: tp__c_ty_2Elist_2Elist_o] :
                  ( ( ( p @ ( ap @ ( ap @ ( c_2EEncode_2Ewf__encoder @ A_27a ) @ V0p ) @ V1e ) )
                    & ( p @ ( ap @ ( ap @ ( c_2EEncode_2Elift__option @ A_27a ) @ V0p ) @ V2l ) ) )
                 => ( ( ap @ ( ap @ ( ap @ ( c_2EDecode_2Edecode__option @ A_27a ) @ ( ap @ ( c_2EEncode_2Elift__option @ A_27a ) @ V0p ) ) @ ( ap @ ( ap @ ( c_2EDecode_2Eenc2dec @ A_27a ) @ V0p ) @ V1e ) ) @ ( ap @ ( ap @ ( c_2Elist_2EAPPEND @ bool ) @ ( ap @ ( ap @ ( c_2EEncode_2Eencode__option @ A_27a ) @ V1e ) @ V2l ) ) @ ( inj__c_ty_2Elist_2Elist_o @ V3t ) ) )
                    = ( ap @ ( c_2Eoption_2ESOME @ ( ty_2Epair_2Eprod @ ( ty_2Eoption_2Eoption @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( ty_2Eoption_2Eoption @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) @ V2l ) @ ( inj__c_ty_2Elist_2Elist_o @ V3t ) ) ) ) ) ) ) ) ).

thf(conj_thm_2EDecode_2Edecode__option,axiom,
    ! [A_27a: del,V0p: $i] :
      ( ( mem @ V0p @ ( arr @ A_27a @ bool ) )
     => ! [V1d: $i] :
          ( ( mem @ V1d @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
         => ! [V2l: tp__c_ty_2Elist_2Elist_o] :
              ( ( p @ ( ap @ ( ap @ ( c_2EDecode_2Ewf__decoder @ A_27a ) @ V0p ) @ V1d ) )
             => ( ( ap @ ( ap @ ( ap @ ( c_2EDecode_2Edecode__option @ A_27a ) @ ( ap @ ( c_2EEncode_2Elift__option @ A_27a ) @ V0p ) ) @ V1d ) @ ( inj__c_ty_2Elist_2Elist_o @ V2l ) )
                = ( ap @ ( ap @ ( ap @ ( c_2Elist_2Elist__CASE @ bool @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Eoption_2Eoption @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ ( inj__c_ty_2Elist_2Elist_o @ V2l ) ) @ ( c_2Eoption_2ENONE @ ( ty_2Epair_2Eprod @ ( ty_2Eoption_2Eoption @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) )
                  @ ( lam @ bool
                    @ ^ [V3v1: $i] :
                        ( lam @ ( ty_2Elist_2Elist @ bool )
                        @ ^ [V4t: $i] :
                            ( ap
                            @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Eoption_2Eoption @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ V3v1 )
                              @ ( ap @ ( ap @ ( ap @ ( c_2Eoption_2Eoption__CASE @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Eoption_2Eoption @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ ( ap @ V1d @ V4t ) ) @ ( c_2Eoption_2ENONE @ ( ty_2Epair_2Eprod @ ( ty_2Eoption_2Eoption @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) )
                                @ ( lam @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) )
                                  @ ^ [V5v: $i] :
                                      ( ap @ ( ap @ ( c_2Epair_2Epair__CASE @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Eoption_2Eoption @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ V5v )
                                      @ ( lam @ A_27a
                                        @ ^ [V6x: $i] :
                                            ( lam @ ( ty_2Elist_2Elist @ bool )
                                            @ ^ [V7t_27: $i] : ( ap @ ( c_2Eoption_2ESOME @ ( ty_2Epair_2Eprod @ ( ty_2Eoption_2Eoption @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( ty_2Eoption_2Eoption @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) @ ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V6x ) ) @ V7t_27 ) ) ) ) ) ) ) )
                            @ ( ap @ ( c_2Eoption_2ESOME @ ( ty_2Epair_2Eprod @ ( ty_2Eoption_2Eoption @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( ty_2Eoption_2Eoption @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) @ ( c_2Eoption_2ENONE @ A_27a ) ) @ V4t ) ) ) ) ) ) ) ) ) ) ).

thf(ax_thm_2EDecode_2Edecode__list__def,axiom,
    ! [A_27a: del,V0p: $i] :
      ( ( mem @ V0p @ ( arr @ ( ty_2Elist_2Elist @ A_27a ) @ bool ) )
     => ! [V1d: $i] :
          ( ( mem @ V1d @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
         => ( ( ap @ ( ap @ ( c_2EDecode_2Edecode__list @ A_27a ) @ V0p ) @ V1d )
            = ( ap @ ( ap @ ( c_2EDecode_2Eenc2dec @ ( ty_2Elist_2Elist @ A_27a ) ) @ V0p ) @ ( ap @ ( c_2EEncode_2Eencode__list @ A_27a ) @ ( ap @ ( c_2EDecode_2Edec2enc @ A_27a ) @ V1d ) ) ) ) ) ) ).

thf(conj_thm_2EDecode_2Ewf__decode__list,axiom,
    ! [A_27a: del,V0p: $i] :
      ( ( mem @ V0p @ ( arr @ A_27a @ bool ) )
     => ! [V1d: $i] :
          ( ( mem @ V1d @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
         => ( ( p @ ( ap @ ( ap @ ( c_2EDecode_2Ewf__decoder @ A_27a ) @ V0p ) @ V1d ) )
           => ( p @ ( ap @ ( ap @ ( c_2EDecode_2Ewf__decoder @ ( ty_2Elist_2Elist @ A_27a ) ) @ ( ap @ ( c_2Elist_2EEVERY @ A_27a ) @ V0p ) ) @ ( ap @ ( ap @ ( c_2EDecode_2Edecode__list @ A_27a ) @ ( ap @ ( c_2Elist_2EEVERY @ A_27a ) @ V0p ) ) @ V1d ) ) ) ) ) ) ).

thf(conj_thm_2EDecode_2Edec2enc__decode__list,axiom,
    ! [A_27a: del,V0p: $i] :
      ( ( mem @ V0p @ ( arr @ A_27a @ bool ) )
     => ! [V1d: $i] :
          ( ( mem @ V1d @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
         => ! [V2x: $i] :
              ( ( mem @ V2x @ ( ty_2Elist_2Elist @ A_27a ) )
             => ( ( ( p @ ( ap @ ( ap @ ( c_2EDecode_2Ewf__decoder @ A_27a ) @ V0p ) @ V1d ) )
                  & ( p @ ( ap @ ( ap @ ( c_2Elist_2EEVERY @ A_27a ) @ V0p ) @ V2x ) ) )
               => ( ( surj__c_ty_2Elist_2Elist_o @ ( ap @ ( ap @ ( c_2EDecode_2Edec2enc @ ( ty_2Elist_2Elist @ A_27a ) ) @ ( ap @ ( ap @ ( c_2EDecode_2Edecode__list @ A_27a ) @ ( ap @ ( c_2Elist_2EEVERY @ A_27a ) @ V0p ) ) @ V1d ) ) @ V2x ) )
                  = ( surj__c_ty_2Elist_2Elist_o @ ( ap @ ( ap @ ( c_2EEncode_2Eencode__list @ A_27a ) @ ( ap @ ( c_2EDecode_2Edec2enc @ A_27a ) @ V1d ) ) @ V2x ) ) ) ) ) ) ) ).

thf(conj_thm_2EDecode_2Eencode__then__decode__list,axiom,
    ! [A_27a: del,V0p: $i] :
      ( ( mem @ V0p @ ( arr @ A_27a @ bool ) )
     => ! [V1e: $i] :
          ( ( mem @ V1e @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) )
         => ! [V2l: $i] :
              ( ( mem @ V2l @ ( ty_2Elist_2Elist @ A_27a ) )
             => ! [V3t: tp__c_ty_2Elist_2Elist_o] :
                  ( ( ( p @ ( ap @ ( ap @ ( c_2EEncode_2Ewf__encoder @ A_27a ) @ V0p ) @ V1e ) )
                    & ( p @ ( ap @ ( ap @ ( c_2Elist_2EEVERY @ A_27a ) @ V0p ) @ V2l ) ) )
                 => ( ( ap @ ( ap @ ( ap @ ( c_2EDecode_2Edecode__list @ A_27a ) @ ( ap @ ( c_2Elist_2EEVERY @ A_27a ) @ V0p ) ) @ ( ap @ ( ap @ ( c_2EDecode_2Eenc2dec @ A_27a ) @ V0p ) @ V1e ) ) @ ( ap @ ( ap @ ( c_2Elist_2EAPPEND @ bool ) @ ( ap @ ( ap @ ( c_2EEncode_2Eencode__list @ A_27a ) @ V1e ) @ V2l ) ) @ ( inj__c_ty_2Elist_2Elist_o @ V3t ) ) )
                    = ( ap @ ( c_2Eoption_2ESOME @ ( ty_2Epair_2Eprod @ ( ty_2Elist_2Elist @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( ty_2Elist_2Elist @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) @ V2l ) @ ( inj__c_ty_2Elist_2Elist_o @ V3t ) ) ) ) ) ) ) ) ).

thf(conj_thm_2EDecode_2Edecode__list,axiom,
    ! [A_27a: del,V0p: $i] :
      ( ( mem @ V0p @ ( arr @ A_27a @ bool ) )
     => ! [V1d: $i] :
          ( ( mem @ V1d @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
         => ! [V2l: tp__c_ty_2Elist_2Elist_o] :
              ( ( p @ ( ap @ ( ap @ ( c_2EDecode_2Ewf__decoder @ A_27a ) @ V0p ) @ V1d ) )
             => ( ( ap @ ( ap @ ( ap @ ( c_2EDecode_2Edecode__list @ A_27a ) @ ( ap @ ( c_2Elist_2EEVERY @ A_27a ) @ V0p ) ) @ V1d ) @ ( inj__c_ty_2Elist_2Elist_o @ V2l ) )
                = ( ap @ ( ap @ ( ap @ ( c_2Elist_2Elist__CASE @ bool @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Elist_2Elist @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ ( inj__c_ty_2Elist_2Elist_o @ V2l ) ) @ ( c_2Eoption_2ENONE @ ( ty_2Epair_2Eprod @ ( ty_2Elist_2Elist @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) )
                  @ ( lam @ bool
                    @ ^ [V3v2: $i] :
                        ( lam @ ( ty_2Elist_2Elist @ bool )
                        @ ^ [V4t: $i] :
                            ( ap
                            @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Elist_2Elist @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ V3v2 )
                              @ ( ap @ ( ap @ ( ap @ ( c_2Eoption_2Eoption__CASE @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Elist_2Elist @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ ( ap @ V1d @ V4t ) ) @ ( c_2Eoption_2ENONE @ ( ty_2Epair_2Eprod @ ( ty_2Elist_2Elist @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) )
                                @ ( lam @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) )
                                  @ ^ [V5v1: $i] :
                                      ( ap @ ( ap @ ( c_2Epair_2Epair__CASE @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Elist_2Elist @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ V5v1 )
                                      @ ( lam @ A_27a
                                        @ ^ [V6x: $i] :
                                            ( lam @ ( ty_2Elist_2Elist @ bool )
                                            @ ^ [V7t_27: $i] :
                                                ( ap @ ( ap @ ( ap @ ( c_2Eoption_2Eoption__CASE @ ( ty_2Epair_2Eprod @ ( ty_2Elist_2Elist @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Elist_2Elist @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ ( ap @ ( ap @ ( ap @ ( c_2EDecode_2Edecode__list @ A_27a ) @ ( ap @ ( c_2Elist_2EEVERY @ A_27a ) @ V0p ) ) @ V1d ) @ V7t_27 ) ) @ ( c_2Eoption_2ENONE @ ( ty_2Epair_2Eprod @ ( ty_2Elist_2Elist @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) )
                                                @ ( lam @ ( ty_2Epair_2Eprod @ ( ty_2Elist_2Elist @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) )
                                                  @ ^ [V8v: $i] :
                                                      ( ap @ ( ap @ ( c_2Epair_2Epair__CASE @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Elist_2Elist @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) @ ( ty_2Elist_2Elist @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) @ V8v )
                                                      @ ( lam @ ( ty_2Elist_2Elist @ A_27a )
                                                        @ ^ [V9xs: $i] :
                                                            ( lam @ ( ty_2Elist_2Elist @ bool )
                                                            @ ^ [V10t_27_27: $i] : ( ap @ ( c_2Eoption_2ESOME @ ( ty_2Epair_2Eprod @ ( ty_2Elist_2Elist @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( ty_2Elist_2Elist @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) @ ( ap @ ( ap @ ( c_2Elist_2ECONS @ A_27a ) @ V6x ) @ V9xs ) ) @ V10t_27_27 ) ) ) ) ) ) ) ) ) ) ) ) )
                            @ ( ap @ ( c_2Eoption_2ESOME @ ( ty_2Epair_2Eprod @ ( ty_2Elist_2Elist @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( ty_2Elist_2Elist @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) @ ( c_2Elist_2ENIL @ A_27a ) ) @ V4t ) ) ) ) ) ) ) ) ) ) ).

thf(ax_thm_2EDecode_2Edecode__blist__def,axiom,
    ! [A_27a: del,V0p: $i] :
      ( ( mem @ V0p @ ( arr @ ( ty_2Elist_2Elist @ A_27a ) @ bool ) )
     => ! [V1m: tp__ty_2Enum_2Enum,V2d: $i] :
          ( ( mem @ V2d @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
         => ( ( ap @ ( ap @ ( ap @ ( c_2EDecode_2Edecode__blist @ A_27a ) @ V0p ) @ ( inj__ty_2Enum_2Enum @ V1m ) ) @ V2d )
            = ( ap @ ( ap @ ( c_2EDecode_2Eenc2dec @ ( ty_2Elist_2Elist @ A_27a ) ) @ V0p ) @ ( ap @ ( ap @ ( c_2EEncode_2Eencode__blist @ bool @ A_27a ) @ ( inj__ty_2Enum_2Enum @ V1m ) ) @ ( ap @ ( c_2EDecode_2Edec2enc @ A_27a ) @ V2d ) ) ) ) ) ) ).

thf(conj_thm_2EDecode_2Ewf__decode__blist,axiom,
    ! [A_27a: del,V0m: tp__ty_2Enum_2Enum,V1p: $i] :
      ( ( mem @ V1p @ ( arr @ A_27a @ bool ) )
     => ! [V2d: $i] :
          ( ( mem @ V2d @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
         => ( ( p @ ( ap @ ( ap @ ( c_2EDecode_2Ewf__decoder @ A_27a ) @ V1p ) @ V2d ) )
           => ( p @ ( ap @ ( ap @ ( c_2EDecode_2Ewf__decoder @ ( ty_2Elist_2Elist @ A_27a ) ) @ ( ap @ ( ap @ ( c_2EEncode_2Elift__blist @ A_27a ) @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ V1p ) ) @ ( ap @ ( ap @ ( ap @ ( c_2EDecode_2Edecode__blist @ A_27a ) @ ( ap @ ( ap @ ( c_2EEncode_2Elift__blist @ A_27a ) @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ V1p ) ) @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ V2d ) ) ) ) ) ) ).

thf(conj_thm_2EDecode_2Edec2enc__decode__blist,axiom,
    ! [A_27a: del,V0m: tp__ty_2Enum_2Enum,V1p: $i] :
      ( ( mem @ V1p @ ( arr @ A_27a @ bool ) )
     => ! [V2d: $i] :
          ( ( mem @ V2d @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
         => ! [V3l: $i] :
              ( ( mem @ V3l @ ( ty_2Elist_2Elist @ A_27a ) )
             => ( ( ( p @ ( ap @ ( ap @ ( c_2EDecode_2Ewf__decoder @ A_27a ) @ V1p ) @ V2d ) )
                  & ( p @ ( ap @ ( ap @ ( ap @ ( c_2EEncode_2Elift__blist @ A_27a ) @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ V1p ) @ V3l ) ) )
               => ( ( surj__c_ty_2Elist_2Elist_o @ ( ap @ ( ap @ ( c_2EDecode_2Edec2enc @ ( ty_2Elist_2Elist @ A_27a ) ) @ ( ap @ ( ap @ ( ap @ ( c_2EDecode_2Edecode__blist @ A_27a ) @ ( ap @ ( ap @ ( c_2EEncode_2Elift__blist @ A_27a ) @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ V1p ) ) @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ V2d ) ) @ V3l ) )
                  = ( surj__c_ty_2Elist_2Elist_o @ ( ap @ ( ap @ ( ap @ ( c_2EEncode_2Eencode__blist @ bool @ A_27a ) @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ ( ap @ ( c_2EDecode_2Edec2enc @ A_27a ) @ V2d ) ) @ V3l ) ) ) ) ) ) ) ).

thf(conj_thm_2EDecode_2Eencode__then__decode__blist,axiom,
    ! [A_27a: del,V0m: tp__ty_2Enum_2Enum,V1p: $i] :
      ( ( mem @ V1p @ ( arr @ A_27a @ bool ) )
     => ! [V2e: $i] :
          ( ( mem @ V2e @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) )
         => ! [V3l: $i] :
              ( ( mem @ V3l @ ( ty_2Elist_2Elist @ A_27a ) )
             => ! [V4t: tp__c_ty_2Elist_2Elist_o] :
                  ( ( ( p @ ( ap @ ( ap @ ( c_2EEncode_2Ewf__encoder @ A_27a ) @ V1p ) @ V2e ) )
                    & ( p @ ( ap @ ( ap @ ( ap @ ( c_2EEncode_2Elift__blist @ A_27a ) @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ V1p ) @ V3l ) ) )
                 => ( ( ap @ ( ap @ ( ap @ ( ap @ ( c_2EDecode_2Edecode__blist @ A_27a ) @ ( ap @ ( ap @ ( c_2EEncode_2Elift__blist @ A_27a ) @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ V1p ) ) @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ ( ap @ ( ap @ ( c_2EDecode_2Eenc2dec @ A_27a ) @ V1p ) @ V2e ) ) @ ( ap @ ( ap @ ( c_2Elist_2EAPPEND @ bool ) @ ( ap @ ( ap @ ( ap @ ( c_2EEncode_2Eencode__blist @ bool @ A_27a ) @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ V2e ) @ V3l ) ) @ ( inj__c_ty_2Elist_2Elist_o @ V4t ) ) )
                    = ( ap @ ( c_2Eoption_2ESOME @ ( ty_2Epair_2Eprod @ ( ty_2Elist_2Elist @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( ty_2Elist_2Elist @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) @ V3l ) @ ( inj__c_ty_2Elist_2Elist_o @ V4t ) ) ) ) ) ) ) ) ).

thf(conj_thm_2EDecode_2Edecode__blist,axiom,
    ! [A_27a: del,V0p: $i] :
      ( ( mem @ V0p @ ( arr @ A_27a @ bool ) )
     => ! [V1d: $i] :
          ( ( mem @ V1d @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
         => ! [V2m: tp__ty_2Enum_2Enum,V3l: tp__c_ty_2Elist_2Elist_o] :
              ( ( p @ ( ap @ ( ap @ ( c_2EDecode_2Ewf__decoder @ A_27a ) @ V0p ) @ V1d ) )
             => ( ( ap @ ( ap @ ( ap @ ( ap @ ( c_2EDecode_2Edecode__blist @ A_27a ) @ ( ap @ ( ap @ ( c_2EEncode_2Elift__blist @ A_27a ) @ ( inj__ty_2Enum_2Enum @ V2m ) ) @ V0p ) ) @ ( inj__ty_2Enum_2Enum @ V2m ) ) @ V1d ) @ ( inj__c_ty_2Elist_2Elist_o @ V3l ) )
                = ( ap @ ( ap @ ( ap @ ( c_2Earithmetic_2Enum__CASE @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Elist_2Elist @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ ( inj__ty_2Enum_2Enum @ V2m ) ) @ ( ap @ ( c_2Eoption_2ESOME @ ( ty_2Epair_2Eprod @ ( ty_2Elist_2Elist @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( ty_2Elist_2Elist @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) @ ( c_2Elist_2ENIL @ A_27a ) ) @ ( inj__c_ty_2Elist_2Elist_o @ V3l ) ) ) )
                  @ ( lam @ ty_2Enum_2Enum
                    @ ^ [V4n: $i] :
                        ( ap @ ( ap @ ( ap @ ( c_2Eoption_2Eoption__CASE @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Elist_2Elist @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ ( ap @ V1d @ ( inj__c_ty_2Elist_2Elist_o @ V3l ) ) ) @ ( c_2Eoption_2ENONE @ ( ty_2Epair_2Eprod @ ( ty_2Elist_2Elist @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) )
                        @ ( lam @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) )
                          @ ^ [V5v1: $i] :
                              ( ap @ ( ap @ ( c_2Epair_2Epair__CASE @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Elist_2Elist @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ V5v1 )
                              @ ( lam @ A_27a
                                @ ^ [V6x: $i] :
                                    ( lam @ ( ty_2Elist_2Elist @ bool )
                                    @ ^ [V7t: $i] :
                                        ( ap @ ( ap @ ( ap @ ( c_2Eoption_2Eoption__CASE @ ( ty_2Epair_2Eprod @ ( ty_2Elist_2Elist @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Elist_2Elist @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ ( ap @ ( ap @ ( ap @ ( ap @ ( c_2EDecode_2Edecode__blist @ A_27a ) @ ( ap @ ( ap @ ( c_2EEncode_2Elift__blist @ A_27a ) @ V4n ) @ V0p ) ) @ V4n ) @ V1d ) @ V7t ) ) @ ( c_2Eoption_2ENONE @ ( ty_2Epair_2Eprod @ ( ty_2Elist_2Elist @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) )
                                        @ ( lam @ ( ty_2Epair_2Eprod @ ( ty_2Elist_2Elist @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) )
                                          @ ^ [V8v: $i] :
                                              ( ap @ ( ap @ ( c_2Epair_2Epair__CASE @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Elist_2Elist @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) @ ( ty_2Elist_2Elist @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) @ V8v )
                                              @ ( lam @ ( ty_2Elist_2Elist @ A_27a )
                                                @ ^ [V9xs: $i] :
                                                    ( lam @ ( ty_2Elist_2Elist @ bool )
                                                    @ ^ [V10t_27: $i] : ( ap @ ( c_2Eoption_2ESOME @ ( ty_2Epair_2Eprod @ ( ty_2Elist_2Elist @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( ty_2Elist_2Elist @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) @ ( ap @ ( ap @ ( c_2Elist_2ECONS @ A_27a ) @ V6x ) @ V9xs ) ) @ V10t_27 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ).

thf(ax_thm_2EDecode_2Edecode__num__def,axiom,
    ! [V0p: $i] :
      ( ( mem @ V0p @ ( arr @ ty_2Enum_2Enum @ bool ) )
     => ( ( ap @ c_2EDecode_2Edecode__num @ V0p )
        = ( ap @ ( ap @ ( c_2EDecode_2Eenc2dec @ ty_2Enum_2Enum ) @ V0p ) @ c_2EEncode_2Eencode__num ) ) ) ).

thf(conj_thm_2EDecode_2Ewf__decode__num,axiom,
    ! [V0p: $i] :
      ( ( mem @ V0p @ ( arr @ ty_2Enum_2Enum @ bool ) )
     => ( p @ ( ap @ ( ap @ ( c_2EDecode_2Ewf__decoder @ ty_2Enum_2Enum ) @ V0p ) @ ( ap @ c_2EDecode_2Edecode__num @ V0p ) ) ) ) ).

thf(conj_thm_2EDecode_2Edec2enc__decode__num,axiom,
    ! [V0p: $i] :
      ( ( mem @ V0p @ ( arr @ ty_2Enum_2Enum @ bool ) )
     => ! [V1x: tp__ty_2Enum_2Enum] :
          ( ( p @ ( ap @ V0p @ ( inj__ty_2Enum_2Enum @ V1x ) ) )
         => ( ( surj__c_ty_2Elist_2Elist_o @ ( ap @ ( ap @ ( c_2EDecode_2Edec2enc @ ty_2Enum_2Enum ) @ ( ap @ c_2EDecode_2Edecode__num @ V0p ) ) @ ( inj__ty_2Enum_2Enum @ V1x ) ) )
            = ( surj__c_ty_2Elist_2Elist_o @ ( ap @ c_2EEncode_2Eencode__num @ ( inj__ty_2Enum_2Enum @ V1x ) ) ) ) ) ) ).

thf(conj_thm_2EDecode_2Edecode__num__total,axiom,
    ! [V0l: tp__c_ty_2Elist_2Elist_o] :
      ( ( surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o @ ( ap @ ( ap @ c_2EDecode_2Edecode__num @ ( ap @ ( c_2Ecombin_2EK @ bool @ ty_2Enum_2Enum ) @ c_2Ebool_2ET ) ) @ ( inj__c_ty_2Elist_2Elist_o @ V0l ) ) )
      = ( surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o
        @ ( ap @ ( ap @ ( ap @ ( c_2Elist_2Elist__CASE @ bool @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ ( inj__c_ty_2Elist_2Elist_o @ V0l ) ) @ ( c_2Eoption_2ENONE @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) )
          @ ( lam @ bool
            @ ^ [V1v4: $i] :
                ( lam @ ( ty_2Elist_2Elist @ bool )
                @ ^ [V2t_27: $i] :
                    ( ap
                    @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ V1v4 )
                      @ ( ap @ ( ap @ ( ap @ ( c_2Elist_2Elist__CASE @ bool @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ V2t_27 ) @ ( c_2Eoption_2ENONE @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) )
                        @ ( lam @ bool
                          @ ^ [V3v8: $i] :
                              ( lam @ ( ty_2Elist_2Elist @ bool )
                              @ ^ [V4t: $i] :
                                  ( ap @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ V3v8 ) @ ( ap @ ( c_2Eoption_2ESOME @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) @ V4t ) ) )
                                  @ ( ap @ ( ap @ ( ap @ ( c_2Eoption_2Eoption__CASE @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ ( ap @ ( ap @ c_2EDecode_2Edecode__num @ ( ap @ ( c_2Ecombin_2EK @ bool @ ty_2Enum_2Enum ) @ c_2Ebool_2ET ) ) @ V4t ) ) @ ( c_2Eoption_2ENONE @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) )
                                    @ ( lam @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) )
                                      @ ^ [V5v1: $i] :
                                          ( ap @ ( ap @ ( c_2Epair_2Epair__CASE @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) @ V5v1 )
                                          @ ( lam @ ty_2Enum_2Enum
                                            @ ^ [V6v: $i] :
                                                ( lam @ ( ty_2Elist_2Elist @ bool )
                                                @ ^ [V7t_27: $i] : ( ap @ ( c_2Eoption_2ESOME @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( ap @ ( ap @ c_2Earithmetic_2E_2A @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) @ V6v ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) @ V7t_27 ) ) ) ) ) ) ) ) ) ) ) )
                    @ ( ap @ ( ap @ ( ap @ ( c_2Eoption_2Eoption__CASE @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ ( ap @ ( ap @ c_2EDecode_2Edecode__num @ ( ap @ ( c_2Ecombin_2EK @ bool @ ty_2Enum_2Enum ) @ c_2Ebool_2ET ) ) @ V2t_27 ) ) @ ( c_2Eoption_2ENONE @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) )
                      @ ( lam @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) )
                        @ ^ [V8v1: $i] :
                            ( ap @ ( ap @ ( c_2Epair_2Epair__CASE @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) @ V8v1 )
                            @ ( lam @ ty_2Enum_2Enum
                              @ ^ [V9v: $i] :
                                  ( lam @ ( ty_2Elist_2Elist @ bool )
                                  @ ^ [V10t_27: $i] : ( ap @ ( c_2Eoption_2ESOME @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( ap @ ( ap @ c_2Earithmetic_2E_2A @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) @ V9v ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) @ V10t_27 ) ) ) ) ) ) ) ) ) ) ) ) ) ).

thf(conj_thm_2EDecode_2Edecode__num,axiom,
    ! [V0p: $i] :
      ( ( mem @ V0p @ ( arr @ ty_2Enum_2Enum @ bool ) )
     => ! [V1l: tp__c_ty_2Elist_2Elist_o] :
          ( ( surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o @ ( ap @ ( ap @ c_2EDecode_2Edecode__num @ V0p ) @ ( inj__c_ty_2Elist_2Elist_o @ V1l ) ) )
          = ( surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o
            @ ( ap @ ( ap @ ( ap @ ( c_2Elist_2Elist__CASE @ bool @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ ( inj__c_ty_2Elist_2Elist_o @ V1l ) ) @ ( c_2Eoption_2ENONE @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) )
              @ ( lam @ bool
                @ ^ [V2v4: $i] :
                    ( lam @ ( ty_2Elist_2Elist @ bool )
                    @ ^ [V3t_27: $i] :
                        ( ap
                        @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ V2v4 )
                          @ ( ap @ ( ap @ ( ap @ ( c_2Elist_2Elist__CASE @ bool @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ V3t_27 ) @ ( c_2Eoption_2ENONE @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) )
                            @ ( lam @ bool
                              @ ^ [V4v8: $i] :
                                  ( lam @ ( ty_2Elist_2Elist @ bool )
                                  @ ^ [V5t: $i] :
                                      ( ap @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ V4v8 ) @ ( ap @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ ( ap @ V0p @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) ) @ ( ap @ ( c_2Eoption_2ESOME @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) @ V5t ) ) ) @ ( c_2Eoption_2ENONE @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
                                      @ ( ap @ ( ap @ ( ap @ ( c_2Eoption_2Eoption__CASE @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ ( ap @ ( ap @ c_2EDecode_2Edecode__num @ ( ap @ ( c_2Ecombin_2EK @ bool @ ty_2Enum_2Enum ) @ c_2Ebool_2ET ) ) @ V5t ) ) @ ( c_2Eoption_2ENONE @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) )
                                        @ ( lam @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) )
                                          @ ^ [V6v1: $i] :
                                              ( ap @ ( ap @ ( c_2Epair_2Epair__CASE @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) @ V6v1 )
                                              @ ( lam @ ty_2Enum_2Enum
                                                @ ^ [V7v: $i] :
                                                    ( lam @ ( ty_2Elist_2Elist @ bool )
                                                    @ ^ [V8t_27: $i] : ( ap @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ ( ap @ V0p @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( ap @ ( ap @ c_2Earithmetic_2E_2A @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) @ V7v ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) ) @ ( ap @ ( c_2Eoption_2ESOME @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( ap @ ( ap @ c_2Earithmetic_2E_2A @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) @ V7v ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) @ V8t_27 ) ) ) @ ( c_2Eoption_2ENONE @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) ) ) ) ) ) ) ) )
                        @ ( ap @ ( ap @ ( ap @ ( c_2Eoption_2Eoption__CASE @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ ( ap @ ( ap @ c_2EDecode_2Edecode__num @ ( ap @ ( c_2Ecombin_2EK @ bool @ ty_2Enum_2Enum ) @ c_2Ebool_2ET ) ) @ V3t_27 ) ) @ ( c_2Eoption_2ENONE @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) )
                          @ ( lam @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) )
                            @ ^ [V9v1: $i] :
                                ( ap @ ( ap @ ( c_2Epair_2Epair__CASE @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) @ V9v1 )
                                @ ( lam @ ty_2Enum_2Enum
                                  @ ^ [V10v: $i] :
                                      ( lam @ ( ty_2Elist_2Elist @ bool )
                                      @ ^ [V11t_27: $i] : ( ap @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ ( ap @ V0p @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( ap @ ( ap @ c_2Earithmetic_2E_2A @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) @ V10v ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) ) @ ( ap @ ( c_2Eoption_2ESOME @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( ap @ ( ap @ c_2Earithmetic_2E_2A @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) @ V10v ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) @ V11t_27 ) ) ) @ ( c_2Eoption_2ENONE @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ).

thf(ax_thm_2EDecode_2Edecode__bnum__def,axiom,
    ! [V0m: tp__ty_2Enum_2Enum,V1p: $i] :
      ( ( mem @ V1p @ ( arr @ ty_2Enum_2Enum @ bool ) )
     => ( ( ap @ ( ap @ c_2EDecode_2Edecode__bnum @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ V1p )
        = ( ap @ ( ap @ ( c_2EDecode_2Eenc2dec @ ty_2Enum_2Enum ) @ V1p ) @ ( ap @ c_2EEncode_2Eencode__bnum @ ( inj__ty_2Enum_2Enum @ V0m ) ) ) ) ) ).

thf(ax_thm_2EDecode_2Edec__bnum__def,axiom,
    ( ! [V0l: tp__c_ty_2Elist_2Elist_o] :
        ( ( surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o @ ( ap @ ( ap @ c_2EDecode_2Edec__bnum @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) @ ( inj__c_ty_2Elist_2Elist_o @ V0l ) ) )
        = ( surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o @ ( ap @ ( c_2Eoption_2ESOME @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) @ ( inj__c_ty_2Elist_2Elist_o @ V0l ) ) ) ) )
    & ! [V1m: tp__ty_2Enum_2Enum,V2l: tp__c_ty_2Elist_2Elist_o] :
        ( ( surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o @ ( ap @ ( ap @ c_2EDecode_2Edec__bnum @ ( ap @ c_2Enum_2ESUC @ ( inj__ty_2Enum_2Enum @ V1m ) ) ) @ ( inj__c_ty_2Elist_2Elist_o @ V2l ) ) )
        = ( surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o
          @ ( ap @ ( ap @ ( ap @ ( c_2Elist_2Elist__CASE @ bool @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ ( inj__c_ty_2Elist_2Elist_o @ V2l ) ) @ ( c_2Eoption_2ENONE @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) )
            @ ( lam @ bool
              @ ^ [V3h: $i] :
                  ( lam @ ( ty_2Elist_2Elist @ bool )
                  @ ^ [V4t: $i] :
                      ( ap @ ( ap @ ( ap @ ( c_2Eoption_2Eoption__CASE @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ ( ap @ ( ap @ c_2EDecode_2Edec__bnum @ ( inj__ty_2Enum_2Enum @ V1m ) ) @ V4t ) ) @ ( c_2Eoption_2ENONE @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) )
                      @ ( lam @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) )
                        @ ^ [V5v: $i] :
                            ( ap @ ( ap @ ( c_2Epair_2Epair__CASE @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) @ V5v )
                            @ ( lam @ ty_2Enum_2Enum
                              @ ^ [V6n: $i] :
                                  ( lam @ ( ty_2Elist_2Elist @ bool )
                                  @ ^ [V7t_27: $i] : ( ap @ ( c_2Eoption_2ESOME @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( ap @ ( ap @ c_2Earithmetic_2E_2A @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) @ V6n ) ) @ ( ap @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ ty_2Enum_2Enum ) @ V3h ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) ) ) @ V7t_27 ) ) ) ) ) ) ) ) ) ) ) ) ) ).

thf(conj_thm_2EDecode_2Edec__bnum__def__compute,axiom,
    ( ! [V0l: tp__c_ty_2Elist_2Elist_o] :
        ( ( surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o @ ( ap @ ( ap @ c_2EDecode_2Edec__bnum @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) @ ( inj__c_ty_2Elist_2Elist_o @ V0l ) ) )
        = ( surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o @ ( ap @ ( c_2Eoption_2ESOME @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) @ ( inj__c_ty_2Elist_2Elist_o @ V0l ) ) ) ) )
    & ! [V1m: tp__ty_2Enum_2Enum,V2l: tp__c_ty_2Elist_2Elist_o] :
        ( ( surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o @ ( ap @ ( ap @ c_2EDecode_2Edec__bnum @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V1m ) ) ) ) @ ( inj__c_ty_2Elist_2Elist_o @ V2l ) ) )
        = ( surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o
          @ ( ap @ ( ap @ ( ap @ ( c_2Elist_2Elist__CASE @ bool @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ ( inj__c_ty_2Elist_2Elist_o @ V2l ) ) @ ( c_2Eoption_2ENONE @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) )
            @ ( lam @ bool
              @ ^ [V3h: $i] :
                  ( lam @ ( ty_2Elist_2Elist @ bool )
                  @ ^ [V4t: $i] :
                      ( ap @ ( ap @ ( ap @ ( c_2Eoption_2Eoption__CASE @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ ( ap @ ( ap @ c_2EDecode_2Edec__bnum @ ( ap @ ( ap @ c_2Earithmetic_2E_2D @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V1m ) ) ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) @ V4t ) ) @ ( c_2Eoption_2ENONE @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) )
                      @ ( lam @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) )
                        @ ^ [V5v: $i] :
                            ( ap @ ( ap @ ( c_2Epair_2Epair__CASE @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) @ V5v )
                            @ ( lam @ ty_2Enum_2Enum
                              @ ^ [V6n: $i] :
                                  ( lam @ ( ty_2Elist_2Elist @ bool )
                                  @ ^ [V7t_27: $i] : ( ap @ ( c_2Eoption_2ESOME @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( ap @ ( ap @ c_2Earithmetic_2E_2A @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) @ V6n ) ) @ ( ap @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ ty_2Enum_2Enum ) @ V3h ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) ) ) @ V7t_27 ) ) ) ) ) ) ) ) ) ) ) )
    & ! [V8m: tp__ty_2Enum_2Enum,V9l: tp__c_ty_2Elist_2Elist_o] :
        ( ( surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o @ ( ap @ ( ap @ c_2EDecode_2Edec__bnum @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( inj__ty_2Enum_2Enum @ V8m ) ) ) ) @ ( inj__c_ty_2Elist_2Elist_o @ V9l ) ) )
        = ( surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o
          @ ( ap @ ( ap @ ( ap @ ( c_2Elist_2Elist__CASE @ bool @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ ( inj__c_ty_2Elist_2Elist_o @ V9l ) ) @ ( c_2Eoption_2ENONE @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) )
            @ ( lam @ bool
              @ ^ [V10h: $i] :
                  ( lam @ ( ty_2Elist_2Elist @ bool )
                  @ ^ [V11t: $i] :
                      ( ap @ ( ap @ ( ap @ ( c_2Eoption_2Eoption__CASE @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ ( ap @ ( ap @ c_2EDecode_2Edec__bnum @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V8m ) ) ) ) @ V11t ) ) @ ( c_2Eoption_2ENONE @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) )
                      @ ( lam @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) )
                        @ ^ [V12v: $i] :
                            ( ap @ ( ap @ ( c_2Epair_2Epair__CASE @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) @ V12v )
                            @ ( lam @ ty_2Enum_2Enum
                              @ ^ [V13n: $i] :
                                  ( lam @ ( ty_2Elist_2Elist @ bool )
                                  @ ^ [V14t_27: $i] : ( ap @ ( c_2Eoption_2ESOME @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( ap @ ( ap @ c_2Earithmetic_2E_2A @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) @ V13n ) ) @ ( ap @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ ty_2Enum_2Enum ) @ V10h ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) ) ) @ V14t_27 ) ) ) ) ) ) ) ) ) ) ) ) ) ).

thf(conj_thm_2EDecode_2Edec__bnum__lt,axiom,
    ! [V0m: tp__ty_2Enum_2Enum,V1l: tp__c_ty_2Elist_2Elist_o,V2n: tp__ty_2Enum_2Enum,V3t: tp__c_ty_2Elist_2Elist_o] :
      ( ( ( surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o @ ( ap @ ( ap @ c_2EDecode_2Edec__bnum @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ ( inj__c_ty_2Elist_2Elist_o @ V1l ) ) )
        = ( surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o @ ( ap @ ( c_2Eoption_2ESOME @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) @ ( inj__ty_2Enum_2Enum @ V2n ) ) @ ( inj__c_ty_2Elist_2Elist_o @ V3t ) ) ) ) )
     => ( p @ ( ap @ ( ap @ c_2Eprim__rec_2E_3C @ ( inj__ty_2Enum_2Enum @ V2n ) ) @ ( ap @ ( ap @ c_2Earithmetic_2EEXP @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) @ ( inj__ty_2Enum_2Enum @ V0m ) ) ) ) ) ).

thf(conj_thm_2EDecode_2Edec__bnum__inj,axiom,
    ! [V0m: tp__ty_2Enum_2Enum,V1l: tp__c_ty_2Elist_2Elist_o,V2n: tp__ty_2Enum_2Enum,V3t: tp__c_ty_2Elist_2Elist_o] :
      ( ( ( surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o @ ( ap @ ( ap @ c_2EDecode_2Edec__bnum @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ ( inj__c_ty_2Elist_2Elist_o @ V1l ) ) )
        = ( surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o @ ( ap @ ( c_2Eoption_2ESOME @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) @ ( inj__ty_2Enum_2Enum @ V2n ) ) @ ( inj__c_ty_2Elist_2Elist_o @ V3t ) ) ) ) )
     => ( V1l
        = ( surj__c_ty_2Elist_2Elist_o @ ( ap @ ( ap @ ( c_2Elist_2EAPPEND @ bool ) @ ( ap @ ( ap @ c_2EEncode_2Eencode__bnum @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ ( inj__ty_2Enum_2Enum @ V2n ) ) ) @ ( inj__c_ty_2Elist_2Elist_o @ V3t ) ) ) ) ) ).

thf(conj_thm_2EDecode_2Ewf__decode__bnum,axiom,
    ! [V0m: tp__ty_2Enum_2Enum,V1p: $i] :
      ( ( mem @ V1p @ ( arr @ ty_2Enum_2Enum @ bool ) )
     => ( ( p @ ( ap @ ( ap @ c_2EEncode_2Ewf__pred__bnum @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ V1p ) )
       => ( p @ ( ap @ ( ap @ ( c_2EDecode_2Ewf__decoder @ ty_2Enum_2Enum ) @ V1p ) @ ( ap @ ( ap @ c_2EDecode_2Edecode__bnum @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ V1p ) ) ) ) ) ).

thf(conj_thm_2EDecode_2Edec2enc__decode__bnum,axiom,
    ! [V0m: tp__ty_2Enum_2Enum,V1p: $i] :
      ( ( mem @ V1p @ ( arr @ ty_2Enum_2Enum @ bool ) )
     => ! [V2x: tp__ty_2Enum_2Enum] :
          ( ( ( p @ ( ap @ ( ap @ c_2EEncode_2Ewf__pred__bnum @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ V1p ) )
            & ( p @ ( ap @ V1p @ ( inj__ty_2Enum_2Enum @ V2x ) ) ) )
         => ( ( surj__c_ty_2Elist_2Elist_o @ ( ap @ ( ap @ ( c_2EDecode_2Edec2enc @ ty_2Enum_2Enum ) @ ( ap @ ( ap @ c_2EDecode_2Edecode__bnum @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ V1p ) ) @ ( inj__ty_2Enum_2Enum @ V2x ) ) )
            = ( surj__c_ty_2Elist_2Elist_o @ ( ap @ ( ap @ c_2EEncode_2Eencode__bnum @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ ( inj__ty_2Enum_2Enum @ V2x ) ) ) ) ) ) ).

thf(conj_thm_2EDecode_2Edecode__bnum,axiom,
    ! [V0m: tp__ty_2Enum_2Enum,V1p: $i] :
      ( ( mem @ V1p @ ( arr @ ty_2Enum_2Enum @ bool ) )
     => ! [V2l: tp__c_ty_2Elist_2Elist_o] :
          ( ( p @ ( ap @ ( ap @ c_2EEncode_2Ewf__pred__bnum @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ V1p ) )
         => ( ( surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o @ ( ap @ ( ap @ ( ap @ c_2EDecode_2Edecode__bnum @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ V1p ) @ ( inj__c_ty_2Elist_2Elist_o @ V2l ) ) )
            = ( surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o
              @ ( ap @ ( ap @ ( ap @ ( c_2Eoption_2Eoption__CASE @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ ( ap @ ( ap @ c_2EDecode_2Edec__bnum @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ ( inj__c_ty_2Elist_2Elist_o @ V2l ) ) ) @ ( c_2Eoption_2ENONE @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) )
                @ ( lam @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) )
                  @ ^ [V3v: $i] :
                      ( ap @ ( ap @ ( c_2Epair_2Epair__CASE @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) @ V3v )
                      @ ( lam @ ty_2Enum_2Enum
                        @ ^ [V4n: $i] :
                            ( lam @ ( ty_2Elist_2Elist @ bool )
                            @ ^ [V5t: $i] : ( ap @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ ( ap @ V1p @ V4n ) ) @ ( ap @ ( c_2Eoption_2ESOME @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) @ V4n ) @ V5t ) ) ) @ ( c_2Eoption_2ENONE @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) ) ) ) ) ) ) ) ).

thf(ax_thm_2EDecode_2Edecode__tree__def,axiom,
    ! [A_27a: del,V0p: $i] :
      ( ( mem @ V0p @ ( arr @ ( ty_2EEncode_2Etree @ A_27a ) @ bool ) )
     => ! [V1d: $i] :
          ( ( mem @ V1d @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
         => ( ( ap @ ( ap @ ( c_2EDecode_2Edecode__tree @ A_27a ) @ V0p ) @ V1d )
            = ( ap @ ( ap @ ( c_2EDecode_2Eenc2dec @ ( ty_2EEncode_2Etree @ A_27a ) ) @ V0p ) @ ( ap @ ( c_2EEncode_2Eencode__tree @ A_27a ) @ ( ap @ ( c_2EDecode_2Edec2enc @ A_27a ) @ V1d ) ) ) ) ) ) ).

thf(conj_thm_2EDecode_2Ewf__decode__tree,axiom,
    ! [A_27a: del,V0p: $i] :
      ( ( mem @ V0p @ ( arr @ A_27a @ bool ) )
     => ! [V1d: $i] :
          ( ( mem @ V1d @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
         => ( ( p @ ( ap @ ( ap @ ( c_2EDecode_2Ewf__decoder @ A_27a ) @ V0p ) @ V1d ) )
           => ( p @ ( ap @ ( ap @ ( c_2EDecode_2Ewf__decoder @ ( ty_2EEncode_2Etree @ A_27a ) ) @ ( ap @ ( c_2EEncode_2Elift__tree @ A_27a ) @ V0p ) ) @ ( ap @ ( ap @ ( c_2EDecode_2Edecode__tree @ A_27a ) @ ( ap @ ( c_2EEncode_2Elift__tree @ A_27a ) @ V0p ) ) @ V1d ) ) ) ) ) ) ).

thf(conj_thm_2EDecode_2Edecode__tree,axiom,
    ! [A_27a: del,V0p: $i] :
      ( ( mem @ V0p @ ( arr @ A_27a @ bool ) )
     => ! [V1d: $i] :
          ( ( mem @ V1d @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
         => ! [V2l: tp__c_ty_2Elist_2Elist_o] :
              ( ( p @ ( ap @ ( ap @ ( c_2EDecode_2Ewf__decoder @ A_27a ) @ V0p ) @ V1d ) )
             => ( ( ap @ ( ap @ ( ap @ ( c_2EDecode_2Edecode__tree @ A_27a ) @ ( ap @ ( c_2EEncode_2Elift__tree @ A_27a ) @ V0p ) ) @ V1d ) @ ( inj__c_ty_2Elist_2Elist_o @ V2l ) )
                = ( ap @ ( ap @ ( ap @ ( c_2Eoption_2Eoption__CASE @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2EEncode_2Etree @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ ( ap @ V1d @ ( inj__c_ty_2Elist_2Elist_o @ V2l ) ) ) @ ( c_2Eoption_2ENONE @ ( ty_2Epair_2Eprod @ ( ty_2EEncode_2Etree @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) )
                  @ ( lam @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) )
                    @ ^ [V3v1: $i] :
                        ( ap @ ( ap @ ( c_2Epair_2Epair__CASE @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2EEncode_2Etree @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ V3v1 )
                        @ ( lam @ A_27a
                          @ ^ [V4a: $i] :
                              ( lam @ ( ty_2Elist_2Elist @ bool )
                              @ ^ [V5t: $i] :
                                  ( ap @ ( ap @ ( ap @ ( c_2Eoption_2Eoption__CASE @ ( ty_2Epair_2Eprod @ ( ty_2Elist_2Elist @ ( ty_2EEncode_2Etree @ A_27a ) ) @ ( ty_2Elist_2Elist @ bool ) ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2EEncode_2Etree @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ ( ap @ ( ap @ ( ap @ ( c_2EDecode_2Edecode__list @ ( ty_2EEncode_2Etree @ A_27a ) ) @ ( ap @ ( c_2Elist_2EEVERY @ ( ty_2EEncode_2Etree @ A_27a ) ) @ ( ap @ ( c_2EEncode_2Elift__tree @ A_27a ) @ V0p ) ) ) @ ( ap @ ( ap @ ( c_2EDecode_2Edecode__tree @ A_27a ) @ ( ap @ ( c_2EEncode_2Elift__tree @ A_27a ) @ V0p ) ) @ V1d ) ) @ V5t ) ) @ ( c_2Eoption_2ENONE @ ( ty_2Epair_2Eprod @ ( ty_2EEncode_2Etree @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) )
                                  @ ( lam @ ( ty_2Epair_2Eprod @ ( ty_2Elist_2Elist @ ( ty_2EEncode_2Etree @ A_27a ) ) @ ( ty_2Elist_2Elist @ bool ) )
                                    @ ^ [V6v: $i] :
                                        ( ap @ ( ap @ ( c_2Epair_2Epair__CASE @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2EEncode_2Etree @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) @ ( ty_2Elist_2Elist @ ( ty_2EEncode_2Etree @ A_27a ) ) @ ( ty_2Elist_2Elist @ bool ) ) @ V6v )
                                        @ ( lam @ ( ty_2Elist_2Elist @ ( ty_2EEncode_2Etree @ A_27a ) )
                                          @ ^ [V7ts: $i] :
                                              ( lam @ ( ty_2Elist_2Elist @ bool )
                                              @ ^ [V8t_27: $i] : ( ap @ ( c_2Eoption_2ESOME @ ( ty_2Epair_2Eprod @ ( ty_2EEncode_2Etree @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( ty_2EEncode_2Etree @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) @ ( ap @ ( ap @ ( c_2EEncode_2ENode @ A_27a ) @ V4a ) @ V7ts ) ) @ V8t_27 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ).

%------------------------------------------------------------------------------